Changeset 136 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop
- Timestamp:
- Oct 20, 2009, 8:52:15 PM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop
- Files:
-
- 1 added
- 88 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Execute_loop_Glue/include/Execute_loop_Glue.h
r88 r136 102 102 public : SC_OUT(Tspecial_address_t) ** out_SPR_WRITE_READ_UNIT_NUM_REG ; 103 103 public : SC_OUT(Tspecial_data_t ) ** out_SPR_WRITE_READ_UNIT_DATA ; 104 105 // -----[ Interface "issue" ]----------------------------------------- 106 public : SC_IN (Tcontrol_t ) ** in_ISSUE_VAL ; 107 public : SC_OUT(Tcontrol_t ) ** out_ISSUE_ACK ; 108 109 public : SC_OUT(Tcontrol_t ) ** out_ISSUE_READ_UNIT_VAL ; 110 public : SC_IN (Tcontrol_t ) ** in_ISSUE_READ_UNIT_ACK ; 111 112 public : SC_OUT(Tcontrol_t ) ** out_ISSUE_REGISTER_UNIT_VAL ; 113 public : SC_IN (Tcontrol_t ) ** in_ISSUE_REGISTER_UNIT_ACK ; 104 114 105 115 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 144 154 public : void genMealy_gpr_write (void); 145 155 public : void genMealy_spr_write (void); 156 public : void genMealy_issue (void); 146 157 #endif 147 158 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Execute_loop_Glue/include/Parameters.h
r88 r136 25 25 public : uint32_t _nb_gpr_write ; 26 26 public : uint32_t _nb_spr_write ; 27 public : uint32_t _nb_inst_issue ; 27 28 //public : uint32_t _size_ooo_engine_id ; 28 29 //public : uint32_t _size_general_register ; … … 36 37 public : Parameters (uint32_t nb_gpr_write , 37 38 uint32_t nb_spr_write , 39 uint32_t nb_inst_issue , 38 40 uint32_t size_ooo_engine_id , 39 41 uint32_t size_general_register , -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Execute_loop_Glue/src/Execute_loop_Glue.cpp
r132 r136 166 166 } 167 167 # endif 168 169 log_printf(INFO,Execute_loop_Glue,FUNCTION,_("<%s> : Method - genMealy_issue"),_name.c_str()); 170 171 SC_METHOD (genMealy_issue); 172 dont_initialize (); 173 // sensitive << (*(in_CLOCK)).neg();// don't need internal register 174 for (uint32_t i=0; i<_param->_nb_inst_issue; ++i) 175 sensitive << (*(in_ISSUE_VAL [i])) 176 << (*(in_ISSUE_READ_UNIT_ACK [i])) 177 << (*(in_ISSUE_REGISTER_UNIT_ACK [i])); 178 179 # ifdef SYSTEMCASS_SPECIFIC 180 // List dependency information 181 # endif 168 182 169 183 #endif -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Execute_loop_Glue/src/Execute_loop_Glue_allocation.cpp
r112 r136 132 132 } 133 133 134 // -----[ Interface "issue" ]----------------------------------------- 135 { 136 ALLOC1_INTERFACE_BEGIN("issue",IN,WEST, _("Issue"), _param->_nb_inst_issue); 137 138 ALLOC1_SIGNAL_IN ( in_ISSUE_VAL ,"val" ,Tcontrol_t,1); 139 ALLOC1_SIGNAL_OUT(out_ISSUE_ACK ,"ack" ,Tcontrol_t,1); 140 ALLOC1_SIGNAL_OUT(out_ISSUE_READ_UNIT_VAL ,"read_unit_val" ,Tcontrol_t,1); 141 ALLOC1_SIGNAL_IN ( in_ISSUE_READ_UNIT_ACK ,"read_unit_ack" ,Tcontrol_t,1); 142 ALLOC1_SIGNAL_OUT(out_ISSUE_REGISTER_UNIT_VAL,"register_unit_val",Tcontrol_t,1); 143 ALLOC1_SIGNAL_IN ( in_ISSUE_REGISTER_UNIT_ACK,"register_unit_ack",Tcontrol_t,1); 144 145 ALLOC1_INTERFACE_END(_param->_nb_inst_issue); 146 } 147 134 148 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 135 149 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Execute_loop_Glue/src/Parameters.cpp
r88 r136 20 20 Parameters::Parameters (uint32_t nb_gpr_write , 21 21 uint32_t nb_spr_write , 22 uint32_t nb_inst_issue , 22 23 uint32_t size_ooo_engine_id , 23 24 uint32_t size_general_register , … … 31 32 _nb_gpr_write = nb_gpr_write ; 32 33 _nb_spr_write = nb_spr_write ; 34 _nb_inst_issue = nb_inst_issue ; 33 35 // _size_ooo_engine_id = size_ooo_engine_id ; 34 36 // _size_general_register = size_general_register ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Execute_loop_Glue/src/Parameters_print.cpp
r88 r136 28 28 xml.singleton_begin("nb_gpr_write "); xml.attribut("value",toString(_nb_gpr_write )); xml.singleton_end(); 29 29 xml.singleton_begin("nb_spr_write "); xml.attribut("value",toString(_nb_spr_write )); xml.singleton_end(); 30 xml.singleton_begin("nb_inst_issue "); xml.attribut("value",toString(_nb_inst_issue )); xml.singleton_end(); 30 31 xml.singleton_begin("size_ooo_engine_id "); xml.attribut("value",toString(_size_ooo_engine_id )); xml.singleton_end(); 31 32 xml.singleton_begin("size_general_register"); xml.attribut("value",toString(_size_general_register)); xml.singleton_end(); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/Operation/include/Types.h
r128 r136 52 52 Toperation_t _operation ; 53 53 Ttype_t _type ; 54 Tcontrol_t _cancel ; 54 55 Tcontrol_t _has_immediat; 55 56 Tgeneral_data_t _immediat ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/include/Functionnal_unit.h
r122 r136 84 84 public : SC_IN (Toperation_t ) * in_EXECUTE_IN_OPERATION ; 85 85 public : SC_IN (Ttype_t ) * in_EXECUTE_IN_TYPE ; 86 public : SC_IN (Tcontrol_t ) * in_EXECUTE_IN_CANCEL ; 86 87 public : SC_IN (Tlsq_ptr_t ) * in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE; 87 88 public : SC_IN (Tlsq_ptr_t ) * in_EXECUTE_IN_STORE_QUEUE_PTR_READ ; … … 107 108 //public : SC_OUT(Toperation_t ) * out_EXECUTE_OUT_OPERATION ; 108 109 //public : SC_OUT(Ttype_t ) * out_EXECUTE_OUT_TYPE ; 110 public : SC_OUT(Tcontrol_t ) * out_EXECUTE_OUT_CANCEL ; 109 111 public : SC_OUT(Tcontrol_t ) * out_EXECUTE_OUT_WRITE_RD ; 110 112 public : SC_OUT(Tgeneral_address_t) * out_EXECUTE_OUT_NUM_REG_RD ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_allocation.cpp
r122 r136 62 62 ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_OPERATION ,"operation" ,Toperation_t , _param->_size_operation ); 63 63 ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_TYPE ,"type" ,Ttype_t , _param->_size_type ); 64 ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_CANCEL ,"cancel" ,Tcontrol_t , 1); 64 65 ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE ,"store_queue_ptr_write",Tlsq_ptr_t ,_param->_size_store_queue_ptr); 65 66 ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_STORE_QUEUE_PTR_READ ,"store_queue_ptr_read" ,Tlsq_ptr_t ,_param->_size_store_queue_ptr); … … 90 91 //ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 91 92 //ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 93 ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_CANCEL ,"cancel" ,Tcontrol_t ,1); 92 94 ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_WRITE_RD ,"write_rd" ,Tcontrol_t ,1); 93 95 ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_NUM_REG_RD ,"num_reg_rd" ,Tgeneral_address_t,_param->_size_general_register); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_deallocation.cpp
r128 r136 38 38 DELETE0_SIGNAL( in_EXECUTE_IN_OPERATION ,_param->_size_operation ); 39 39 DELETE0_SIGNAL( in_EXECUTE_IN_TYPE ,_param->_size_type ); 40 DELETE0_SIGNAL( in_EXECUTE_IN_CANCEL ,1); 40 41 DELETE0_SIGNAL( in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE ,_param->_size_store_queue_ptr); 41 42 DELETE0_SIGNAL( in_EXECUTE_IN_STORE_QUEUE_PTR_READ ,_param->_size_store_queue_ptr); … … 60 61 //DELETE0_SIGNAL(out_EXECUTE_OUT_OPERATION ,_param->_size_operation ); 61 62 //DELETE0_SIGNAL(out_EXECUTE_OUT_TYPE ,_param->_size_type ); 63 DELETE0_SIGNAL(out_EXECUTE_OUT_CANCEL ,1); 62 64 DELETE0_SIGNAL(out_EXECUTE_OUT_WRITE_RD ,1); 63 65 DELETE0_SIGNAL(out_EXECUTE_OUT_NUM_REG_RD ,_param->_size_general_register); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_genMoore.cpp
r123 r136 38 38 // PORT_WRITE(out_EXECUTE_OUT_OPERATION ,_execute_operation_out->_operation ); 39 39 // PORT_WRITE(out_EXECUTE_OUT_TYPE ,_execute_operation_out->_type ); 40 PORT_WRITE(out_EXECUTE_OUT_CANCEL ,_execute_operation_out->_cancel ); 40 41 PORT_WRITE(out_EXECUTE_OUT_WRITE_RD ,_execute_operation_out->_write_rd ); 41 42 PORT_WRITE(out_EXECUTE_OUT_NUM_REG_RD ,_execute_operation_out->_num_reg_rd ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_transition.cpp
r134 r136 55 55 // _execute_operation_out->_operation = 0; // not necessary 56 56 // _execute_operation_out->_type = 0; // not necessary 57 _execute_operation_out->_cancel = 0; // not necessary 57 58 _execute_operation_out->_write_rd = 0; // not necessary 58 59 _execute_operation_out->_num_reg_rd = 0; // not necessary … … 88 89 _execute_operation_out->_operation = _execute_operation_in->_operation ; 89 90 _execute_operation_out->_type = _execute_operation_in->_type ; 91 _execute_operation_out->_cancel = _execute_operation_in->_cancel ; 90 92 _execute_operation_out->_has_immediat = _execute_operation_in->_has_immediat ; 91 93 _execute_operation_out->_immediat = _execute_operation_in->_immediat ; … … 130 132 Toperation_t operation = PORT_READ(in_EXECUTE_IN_OPERATION); 131 133 Ttype_t type = PORT_READ(in_EXECUTE_IN_TYPE); 134 Tcontrol_t cancel = PORT_READ(in_EXECUTE_IN_CANCEL); 132 135 133 136 execute_operation->_context_id = context_id ; … … 137 140 execute_operation->_operation = operation ; 138 141 execute_operation->_type = type ; 142 execute_operation->_cancel = cancel ; 139 143 execute_operation->_has_immediat = PORT_READ(in_EXECUTE_IN_HAS_IMMEDIAT); 140 144 execute_operation->_immediat = PORT_READ(in_EXECUTE_IN_IMMEDIAT ); … … 158 162 log_printf(TRACE,Functionnal_unit,FUNCTION," * operation : %d",execute_operation->_operation ); 159 163 log_printf(TRACE,Functionnal_unit,FUNCTION," * type : %s",toString(execute_operation->_type).c_str()); 164 log_printf(TRACE,Functionnal_unit,FUNCTION," * cancel : %d",execute_operation->_cancel ); 160 165 log_printf(TRACE,Functionnal_unit,FUNCTION," * has_immediat : %d",execute_operation->_has_immediat ); 161 166 log_printf(TRACE,Functionnal_unit,FUNCTION," * immediat : %.8x",execute_operation->_immediat ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/include/Load_store_unit.h
r131 r136 104 104 public : SC_IN (Toperation_t ) ** in_MEMORY_IN_OPERATION ;//[nb_inst_memory] 105 105 public : SC_IN (Ttype_t ) ** in_MEMORY_IN_TYPE ;//[nb_inst_memory] 106 public : SC_IN (Tcontrol_t ) ** in_MEMORY_IN_CANCEL ;//[nb_inst_memory] 106 107 public : SC_IN (Tlsq_ptr_t ) ** in_MEMORY_IN_STORE_QUEUE_PTR_WRITE;//[nb_inst_memory] 107 108 public : SC_IN (Tlsq_ptr_t ) ** in_MEMORY_IN_STORE_QUEUE_PTR_READ ;//[nb_inst_memory] … … 127 128 //public : SC_OUT(Toperation_t ) ** out_MEMORY_OUT_OPERATION ;//[nb_inst_memory] 128 129 //public : SC_OUT(Ttype_t ) ** out_MEMORY_OUT_TYPE ;//[nb_inst_memory] 130 public : SC_OUT(Tcontrol_t ) ** out_MEMORY_OUT_CANCEL ;//[nb_inst_memory] 129 131 public : SC_OUT(Tcontrol_t ) ** out_MEMORY_OUT_WRITE_RD ;//[nb_inst_memory] // = (operation==load) 130 132 public : SC_OUT(Tgeneral_address_t) ** out_MEMORY_OUT_NUM_REG_RD ;//[nb_inst_memory] // destination (load) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/include/Types.h
r122 r136 67 67 public : Tpacket_t _packet_id ; 68 68 public : Toperation_t _operation ; 69 public : Tcontrol_t _cancel ; 69 70 public : Tlsq_ptr_t _load_queue_ptr_write; 70 71 public : Tdcache_address_t _address ; … … 80 81 << " * packet : " << toString(x._packet_id) << std::endl 81 82 << " * context, front_end, ooo_engine_id : " << toString(x._context_id) << " - " << toString(x._front_end_id) << " - " << toString(x._ooo_engine_id) << std::endl 82 << " * operation : " << toString(x._operation) << std::endl83 << " * operation, cancel : " << toString(x._operation) << " - " << toString(x._cancel) << std::endl 83 84 << " * load_ptr : " << toString(x._load_queue_ptr_write) << std::endl 84 85 << " * exception : " << toString(x._exception) << std::endl … … 111 112 public : Tpacket_t _packet_id ; 112 113 public : Toperation_t _operation ; 114 public : Tcontrol_t _cancel ; 113 115 public : Tlsq_ptr_t _load_queue_ptr_write ; 114 116 public : Tlsq_ptr_t _store_queue_ptr_write; … … 125 127 << " * packet : " << toString(x._packet_id) << std::endl 126 128 << " * context, front_end, ooo_engine_id : " << toString(x._context_id) << " - " << toString(x._front_end_id) << " - " << toString(x._ooo_engine_id) << std::endl 127 << " * operation : " << toString(x._operation) << std::endl129 << " * operation, cancel : " << toString(x._operation) << " - " << toString(x._cancel) << std::endl 128 130 << " * load, store ptr_(write/read) empty: " << toString(x._load_queue_ptr_write) << " - " << toString(x._store_queue_ptr_write) << " - " << toString(x._store_queue_ptr_read) << " - " << toString(x._store_queue_empty) << std::endl 129 131 << " * exception : " << toString(x._exception) << std::endl … … 168 170 public : Tpacket_t _packet_id ; 169 171 public : Toperation_t _operation ; 172 public : Tcontrol_t _cancel ; 170 173 public : Tlsq_ptr_t _store_queue_ptr_write; 171 174 public : Tlsq_ptr_t _store_queue_ptr_read ; … … 187 190 << " * packet : " << toString(x._packet_id) << std::endl 188 191 << " * context, front_end, ooo_engine_id : " << toString(x._context_id) << " - " << toString(x._front_end_id) << " - " << toString(x._ooo_engine_id) << std::endl 189 << " * operation : " << toString(x._operation) << std::endl192 << " * operation, cancel : " << toString(x._operation) << " - " << toString(x._cancel) << std::endl 190 193 << " * store_queue ptr_(write,read) empty: " << toString(x._store_queue_ptr_write) << " - " << toString(x._store_queue_ptr_read) << " - " << toString(x._store_queue_empty) <<std::endl 191 194 << " * exception : " << toString(x._exception) << std::endl -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_allocation.cpp
r134 r136 65 65 ALLOC1_SIGNAL_IN ( in_MEMORY_IN_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 66 66 ALLOC1_SIGNAL_IN ( in_MEMORY_IN_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 67 ALLOC1_SIGNAL_IN ( in_MEMORY_IN_CANCEL ,"cancel" ,Tcontrol_t ,1 ); 67 68 ALLOC1_SIGNAL_IN ( in_MEMORY_IN_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t ,_param->_size_store_queue_ptr ); 68 69 ALLOC1_SIGNAL_IN ( in_MEMORY_IN_STORE_QUEUE_PTR_READ ,"store_queue_ptr_read" ,Tlsq_ptr_t ,_param->_size_store_queue_ptr ); … … 94 95 // ALLOC1_SIGNAL_OUT(out_MEMORY_OUT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 95 96 // ALLOC1_SIGNAL_OUT(out_MEMORY_OUT_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 97 ALLOC1_SIGNAL_OUT(out_MEMORY_OUT_CANCEL ,"cancel" ,Tcontrol_t ,1 ); 96 98 ALLOC1_SIGNAL_OUT(out_MEMORY_OUT_WRITE_RD ,"write_rd" ,Tcontrol_t ,1 ); 97 99 ALLOC1_SIGNAL_OUT(out_MEMORY_OUT_NUM_REG_RD ,"num_reg_rd" ,Tgeneral_address_t,_param->_size_general_register ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_deallocation.cpp
r134 r136 44 44 DELETE1_SIGNAL( in_MEMORY_IN_OPERATION ,_param->_nb_inst_memory,_param->_size_operation ); 45 45 DELETE1_SIGNAL( in_MEMORY_IN_TYPE ,_param->_nb_inst_memory,_param->_size_type ); 46 DELETE1_SIGNAL( in_MEMORY_IN_CANCEL ,_param->_nb_inst_memory,1); 46 47 DELETE1_SIGNAL( in_MEMORY_IN_STORE_QUEUE_PTR_WRITE,_param->_nb_inst_memory,_param->_size_store_queue_ptr ); 47 48 DELETE1_SIGNAL( in_MEMORY_IN_STORE_QUEUE_PTR_READ ,_param->_nb_inst_memory,_param->_size_store_queue_ptr ); … … 66 67 // DELETE1_SIGNAL(out_MEMORY_OUT_OPERATION ,_param->_nb_inst_memory,_param->_size_operation ); 67 68 // DELETE1_SIGNAL(out_MEMORY_OUT_TYPE ,_param->_nb_inst_memory,_param->_size_type ); 69 DELETE1_SIGNAL(out_MEMORY_OUT_CANCEL ,_param->_nb_inst_memory,1 ); 68 70 DELETE1_SIGNAL(out_MEMORY_OUT_WRITE_RD ,_param->_nb_inst_memory,1 ); 69 71 DELETE1_SIGNAL(out_MEMORY_OUT_NUM_REG_RD ,_param->_nb_inst_memory,_param->_size_general_register ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_function_speculative_load_commit_genMoore.cpp
r123 r136 35 35 Tcontext_t memory_out_ooo_engine_id = 0; 36 36 Tpacket_t memory_out_packet_id = 0; 37 Tcontrol_t memory_out_cancel = 0; 37 38 Tcontrol_t memory_out_write_rd = 0; 38 39 Tgeneral_address_t memory_out_num_reg_rd = 0; … … 67 68 memory_out_ooo_engine_id = _load_queue [internal_MEMORY_OUT_PTR]._ooo_engine_id; 68 69 memory_out_packet_id = _load_queue [internal_MEMORY_OUT_PTR]._packet_id ; 70 memory_out_cancel = _load_queue [internal_MEMORY_OUT_PTR]._cancel ; 69 71 memory_out_write_rd = _load_queue [internal_MEMORY_OUT_PTR]._write_rd ; 70 72 memory_out_num_reg_rd = _load_queue [internal_MEMORY_OUT_PTR]._num_reg_rd; … … 130 132 memory_out_ooo_engine_id = _store_queue [internal_MEMORY_OUT_PTR]._ooo_engine_id; 131 133 memory_out_packet_id = _store_queue [internal_MEMORY_OUT_PTR]._packet_id ; 134 memory_out_cancel = _store_queue [internal_MEMORY_OUT_PTR]._cancel; 132 135 // memory_out_write_rd 133 136 // memory_out_num_reg_rd … … 152 155 // PORT_WRITE(out_MEMORY_OUT_OPERATION [0], memory_out_operation ); 153 156 // PORT_WRITE(out_MEMORY_OUT_TYPE [0], TYPE_MEMORY ); 157 PORT_WRITE(out_MEMORY_OUT_CANCEL [0], memory_out_cancel ); 154 158 PORT_WRITE(out_MEMORY_OUT_WRITE_RD [0], memory_out_write_rd ); 155 159 PORT_WRITE(out_MEMORY_OUT_NUM_REG_RD [0], memory_out_num_reg_rd ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_function_speculative_load_commit_transition.cpp
r134 r136 251 251 _store_queue [i]._packet_id = 0; // not necessary 252 252 _store_queue [i]._operation = 0; // not necessary 253 _store_queue [i]._cancel = 0; // not necessary 253 254 _store_queue [i]._load_queue_ptr_write = 0; // not necessary 254 255 _store_queue [i]._address = 0; // not necessary … … 268 269 _load_queue [i]._packet_id = 0; // not necessary 269 270 _load_queue [i]._operation = 0; // not necessary 271 _load_queue [i]._cancel = 0; // not necessary 270 272 _load_queue [i]._store_queue_ptr_write = 0; // not necessary 271 273 _load_queue [i]._store_queue_ptr_read = 0; // not necessary … … 291 293 _speculative_access_queue [i]._packet_id = 0; // not necessary 292 294 _speculative_access_queue [i]._operation = 0; // not necessary 295 _speculative_access_queue [i]._cancel = 0; // not necessary 293 296 _speculative_access_queue [i]._load_queue_ptr_write = 0; // not necessary 294 297 _speculative_access_queue [i]._store_queue_ptr_write = 0; // not necessary … … 815 818 #endif 816 819 Toperation_t operation = PORT_READ(in_MEMORY_IN_OPERATION[internal_MEMORY_IN_PORT]); 820 Tcontrol_t cancel = PORT_READ(in_MEMORY_IN_CANCEL [internal_MEMORY_IN_PORT]); 817 821 Tgeneral_data_t address = (PORT_READ(in_MEMORY_IN_IMMEDIAT[internal_MEMORY_IN_PORT]) + 818 822 PORT_READ(in_MEMORY_IN_DATA_RA [internal_MEMORY_IN_PORT])); … … 925 929 _store_queue [index]._packet_id = (not _param->_have_port_rob_ptr )?0:PORT_READ(in_MEMORY_IN_PACKET_ID [internal_MEMORY_IN_PORT]); 926 930 _store_queue [index]._operation = operation; 931 _store_queue [index]._cancel = cancel ; 927 932 _store_queue [index]._load_queue_ptr_write = (not _param->_have_port_load_queue_ptr)?0:PORT_READ(in_MEMORY_IN_LOAD_QUEUE_PTR_WRITE[internal_MEMORY_IN_PORT]); 928 933 _store_queue [index]._address = address; … … 965 970 966 971 _speculative_access_queue [index]._operation = operation; 972 _speculative_access_queue [index]._cancel = cancel ; 967 973 _speculative_access_queue [index]._load_queue_ptr_write = (not _param->_have_port_load_queue_ptr)?0:PORT_READ(in_MEMORY_IN_LOAD_QUEUE_PTR_WRITE[internal_MEMORY_IN_PORT]); 968 974 _speculative_access_queue [index]._store_queue_ptr_write= PORT_READ(in_MEMORY_IN_STORE_QUEUE_PTR_WRITE[internal_MEMORY_IN_PORT]); … … 1094 1100 _load_queue [ptr_write]._packet_id = _speculative_access_queue [internal_SPECULATIVE_ACCESS_QUEUE_PTR_READ]._packet_id; 1095 1101 _load_queue [ptr_write]._operation = operation; 1102 _load_queue [ptr_write]._cancel = _speculative_access_queue [internal_SPECULATIVE_ACCESS_QUEUE_PTR_READ]._cancel; 1096 1103 _load_queue [ptr_write]._store_queue_ptr_write = store_queue_ptr_write; 1097 1104 _load_queue [ptr_write]._store_queue_ptr_read = store_queue_ptr_read ; … … 1286 1293 uint32_t j = (reg_STORE_QUEUE_PTR_READ+i)%_param->_size_store_queue; 1287 1294 1288 log_printf(TRACE,Load_store_unit,FUNCTION," [%.4d] %.4d %.4d %.4d, %.4d, %.4d , %.4d, %.8x %.8x, %.2d %.1d, %.2d %s",1295 log_printf(TRACE,Load_store_unit,FUNCTION," [%.4d] %.4d %.4d %.4d, %.4d, %.4d %.1d, %.4d, %.8x %.8x, %.2d %.1d, %.2d %s", 1289 1296 j, 1290 1297 _store_queue[j]._context_id , … … 1293 1300 _store_queue[j]._packet_id , 1294 1301 _store_queue[j]._operation , 1302 _store_queue[j]._cancel , 1295 1303 _store_queue[j]._load_queue_ptr_write, 1296 1304 _store_queue[j]._address , … … 1311 1319 uint32_t j = (*_speculative_access_queue_control)[i]; 1312 1320 1313 log_printf(TRACE,Load_store_unit,FUNCTION," [%.4d] %.4d %.4d %.4d, %.4d, %.4d , %.4d %.4d %.4d %.1d, %.8x, %.1d %.4d, %.2d, %s",1321 log_printf(TRACE,Load_store_unit,FUNCTION," [%.4d] %.4d %.4d %.4d, %.4d, %.4d %.1d, %.4d %.4d %.4d %.1d, %.8x, %.1d %.4d, %.2d, %s", 1314 1322 j, 1315 1323 _speculative_access_queue[j]._context_id , … … 1318 1326 _speculative_access_queue[j]._packet_id , 1319 1327 _speculative_access_queue[j]._operation , 1328 _speculative_access_queue[j]._cancel , 1320 1329 _speculative_access_queue[j]._load_queue_ptr_write, 1321 1330 _speculative_access_queue[j]._store_queue_ptr_write, … … 1337 1346 uint32_t j = i; 1338 1347 1339 log_printf(TRACE,Load_store_unit,FUNCTION," [%.4d] %.4d %.4d %.4d, %.4d, %.4d , %.4d %.4d %.1d, %.8x %.1x %.1d %.2d %.1d %.2d, %.8x, %.1d %.4d, %.2d, %s",1348 log_printf(TRACE,Load_store_unit,FUNCTION," [%.4d] %.4d %.4d %.4d, %.4d, %.4d %.1d, %.4d %.4d %.1d, %.8x %.1x %.1d %.2d %.1d %.2d, %.8x, %.1d %.4d, %.2d, %s", 1340 1349 j, 1341 1350 _load_queue[j]._context_id , … … 1344 1353 _load_queue[j]._packet_id , 1345 1354 _load_queue[j]._operation , 1355 _load_queue[j]._cancel , 1346 1356 _load_queue[j]._store_queue_ptr_write, 1347 1357 _load_queue[j]._store_queue_ptr_read , -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Read_queue.h
r122 r136 72 72 public : SC_IN (Toperation_t ) * in_READ_QUEUE_IN_OPERATION ; 73 73 public : SC_IN (Ttype_t ) * in_READ_QUEUE_IN_TYPE ; 74 public : SC_IN (Tcontrol_t ) * in_READ_QUEUE_IN_CANCEL ; 74 75 public : SC_IN (Tlsq_ptr_t ) * in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE; 75 76 public : SC_IN (Tlsq_ptr_t ) * in_READ_QUEUE_IN_STORE_QUEUE_PTR_READ ; … … 99 100 public : SC_OUT(Toperation_t ) * out_READ_QUEUE_OUT_OPERATION ; 100 101 public : SC_OUT(Ttype_t ) * out_READ_QUEUE_OUT_TYPE ; 102 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_CANCEL ; 101 103 public : SC_OUT(Tlsq_ptr_t ) * out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE; 102 104 public : SC_OUT(Tlsq_ptr_t ) * out_READ_QUEUE_OUT_STORE_QUEUE_PTR_READ ; … … 105 107 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_HAS_IMMEDIAT ; 106 108 public : SC_OUT(Tgeneral_data_t ) * out_READ_QUEUE_OUT_IMMEDIAT ; 107 // 109 //public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_READ_RA ; 108 110 public : SC_OUT(Tgeneral_address_t) * out_READ_QUEUE_OUT_NUM_REG_RA ; 109 111 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_DATA_RA_VAL ; 110 112 public : SC_OUT(Tgeneral_data_t ) * out_READ_QUEUE_OUT_DATA_RA ; 111 // 113 //public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_READ_RB ; 112 114 public : SC_OUT(Tgeneral_address_t) * out_READ_QUEUE_OUT_NUM_REG_RB ; 113 115 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_DATA_RB_VAL ; 114 116 public : SC_OUT(Tgeneral_data_t ) * out_READ_QUEUE_OUT_DATA_RB ; 115 // 117 //public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_READ_RC ; 116 118 public : SC_OUT(Tspecial_address_t) * out_READ_QUEUE_OUT_NUM_REG_RC ; 117 119 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_DATA_RC_VAL ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Types.h
r122 r136 28 28 public : Toperation_t _operation ; 29 29 public : Ttype_t _type ; 30 public : Tcontrol_t _cancel ; 30 31 public : Tlsq_ptr_t _store_queue_ptr_write; 31 32 public : Tlsq_ptr_t _store_queue_ptr_read ; … … 54 55 << " * _operation : " << toString(x._operation ) << std::endl 55 56 << " * _type : " << toString(x._type ) << std::endl 57 << " * _cancel : " << toString(x._cancel ) << std::endl 56 58 << " * _store_queue_ptr_write : " << toString(x._store_queue_ptr_write) << std::endl 57 59 << " * _store_queue_ptr_read : " << toString(x._store_queue_ptr_read ) << std::endl … … 84 86 public : Toperation_t _operation ; 85 87 public : Ttype_t _type ; 88 public : Tcontrol_t _cancel ; 86 89 public : Tlsq_ptr_t _store_queue_ptr_write; 87 90 public : Tlsq_ptr_t _store_queue_ptr_read ; … … 122 125 _operation = x._operation ; 123 126 _type = x._type ; 127 _cancel = x._cancel ; 124 128 _store_queue_ptr_write = x._store_queue_ptr_write; 125 129 _store_queue_ptr_read = x._store_queue_ptr_read ; … … 164 168 << " * _operation : " << x._operation << std::endl 165 169 << " * _type : " << x._type << std::endl 170 << " * _cancel : " << x._cancel << std::endl 166 171 << " * _store_queue_ptr_write : " << toString(x._store_queue_ptr_write) << std::endl 167 172 << " * _store_queue_ptr_read : " << toString(x._store_queue_ptr_read ) << std::endl -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue.cpp
r132 r136 18 18 19 19 20 #undef FUNCTION 21 #define FUNCTION "Read_queue::Read_queue" 20 22 Read_queue::Read_queue 21 23 ( … … 34 36 ,_usage (usage) 35 37 { 36 log_printf(FUNC,Read_queue, "Read_queue","Begin");38 log_printf(FUNC,Read_queue,FUNCTION,_("<%s> Begin"),_name.c_str()); 37 39 38 40 // #if DEBUG_Read_queue == true … … 43 45 44 46 #ifdef SYSTEMC 45 log_printf(INFO,Read_queue, "Read_queue","Allocation");47 log_printf(INFO,Read_queue,FUNCTION,_("<%s> Allocation"),_name.c_str()); 46 48 47 49 allocation (); … … 51 53 if (usage_is_set(_usage,USE_STATISTICS)) 52 54 { 53 log_printf(INFO,Read_queue,FUNCTION, "Allocation of statistics");55 log_printf(INFO,Read_queue,FUNCTION,_("<%s> Allocation of statistics"),_name.c_str()); 54 56 55 57 statistics_declaration(param_statistics); … … 61 63 { 62 64 // generate the vhdl 63 log_printf(INFO,Read_queue, "Read_queue","Generate the vhdl");65 log_printf(INFO,Read_queue,FUNCTION,_("<%s> Generate the vhdl"),_name.c_str()); 64 66 65 67 vhdl(); … … 70 72 if (usage_is_set(_usage,USE_SYSTEMC)) 71 73 { 72 log_printf(INFO,Read_queue, "Read_queue","Method - transition");74 log_printf(INFO,Read_queue,FUNCTION,_("<%s> Method - transition"),_name.c_str()); 73 75 74 76 SC_METHOD (transition); … … 76 78 sensitive << (*(in_CLOCK)).pos(); 77 79 78 log_printf(INFO,Read_queue, "Read_queue","Method - genMoore");80 log_printf(INFO,Read_queue,FUNCTION,_("<%s> Method - genMoore"),_name.c_str()); 79 81 80 82 SC_METHOD (genMoore); … … 82 84 sensitive << (*(in_CLOCK)).neg(); 83 85 84 log_printf(INFO,Read_queue, "Read_queue","Method - genMealy_read_queue_out_val");86 log_printf(INFO,Read_queue,FUNCTION,_("<%s> Method - genMealy_read_queue_out_val"),_name.c_str()); 85 87 86 88 SC_METHOD (genMealy_read_queue_out_val); … … 130 132 #endif 131 133 132 log_printf(INFO,Read_queue, "Read_queue","Method - genMealy_read_queue_out_gpr");134 log_printf(INFO,Read_queue,FUNCTION,_("<%s> Method - genMealy_read_queue_out_gpr"),_name.c_str()); 133 135 134 136 SC_METHOD (genMealy_read_queue_out_gpr); … … 183 185 #endif 184 186 185 log_printf(INFO,Read_queue, "Read_queue","Method - genMealy_read_queue_out_spr");187 log_printf(INFO,Read_queue,FUNCTION,_("<%s> Method - genMealy_read_queue_out_spr"),_name.c_str()); 186 188 187 189 SC_METHOD (genMealy_read_queue_out_spr); … … 225 227 } 226 228 #endif 227 log_printf(FUNC,Read_queue, "Read_queue","End");229 log_printf(FUNC,Read_queue,FUNCTION,_("<%s> End"),_name.c_str()); 228 230 }; 229 231 232 #undef FUNCTION 233 #define FUNCTION "Read_queue::~Read_queue" 230 234 Read_queue::~Read_queue (void) 231 235 { 232 log_printf(FUNC,Read_queue, "~Read_queue","Begin");236 log_printf(FUNC,Read_queue,FUNCTION,_("<%s> Begin"),_name.c_str()); 233 237 234 238 #ifdef STATISTICS 235 239 if (usage_is_set(_usage,USE_STATISTICS)) 236 240 { 237 log_printf(INFO,Read_queue, "~Read_queue","Generate Statistics file");241 log_printf(INFO,Read_queue,FUNCTION,_("<%s> Generate Statistics file"),_name.c_str()); 238 242 239 243 delete _stat; … … 242 246 243 247 #ifdef SYSTEMC 244 log_printf(INFO,Read_queue, "~Read_queue","Deallocation");248 log_printf(INFO,Read_queue,FUNCTION,_("<%s> Deallocation"),_name.c_str()); 245 249 246 250 deallocation (); 247 251 #endif 248 252 249 log_printf(FUNC,Read_queue, "~Read_queue","End");253 log_printf(FUNC,Read_queue,FUNCTION,_("<%s> End"),_name.c_str()); 250 254 }; 251 255 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_allocation.cpp
r135 r136 61 61 ALLOC0_SIGNAL_IN ( in_READ_QUEUE_IN_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 62 62 ALLOC0_SIGNAL_IN ( in_READ_QUEUE_IN_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 63 ALLOC0_SIGNAL_IN ( in_READ_QUEUE_IN_CANCEL ,"cancel" ,Tcontrol_t ,1); 63 64 ALLOC0_SIGNAL_IN ( in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t ,_param->_size_store_queue_ptr); 64 65 ALLOC0_SIGNAL_IN ( in_READ_QUEUE_IN_STORE_QUEUE_PTR_READ ,"store_queue_ptr_read" ,Tlsq_ptr_t ,_param->_size_store_queue_ptr); … … 93 94 ALLOC0_SIGNAL_OUT(out_READ_QUEUE_OUT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 94 95 ALLOC0_SIGNAL_OUT(out_READ_QUEUE_OUT_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 96 ALLOC0_SIGNAL_OUT(out_READ_QUEUE_OUT_CANCEL ,"cancel" ,Tcontrol_t ,1); 95 97 ALLOC0_SIGNAL_OUT(out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE ,"store_queue_ptr_write",Tlsq_ptr_t , _param->_size_store_queue_ptr ); 96 98 ALLOC0_SIGNAL_OUT(out_READ_QUEUE_OUT_STORE_QUEUE_PTR_READ ,"store_queue_ptr_read" ,Tlsq_ptr_t , _param->_size_store_queue_ptr ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_deallocation.cpp
r128 r136 37 37 DELETE0_SIGNAL( in_READ_QUEUE_IN_OPERATION ,_param->_size_operation ); 38 38 DELETE0_SIGNAL( in_READ_QUEUE_IN_TYPE ,_param->_size_type ); 39 DELETE0_SIGNAL( in_READ_QUEUE_IN_CANCEL ,1 ); 39 40 DELETE0_SIGNAL( in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE ,_param->_size_store_queue_ptr ); 40 41 DELETE0_SIGNAL( in_READ_QUEUE_IN_STORE_QUEUE_PTR_READ ,_param->_size_store_queue_ptr ); … … 62 63 DELETE0_SIGNAL(out_READ_QUEUE_OUT_OPERATION ,_param->_size_operation ); 63 64 DELETE0_SIGNAL(out_READ_QUEUE_OUT_TYPE ,_param->_size_type ); 65 DELETE0_SIGNAL(out_READ_QUEUE_OUT_CANCEL ,1 ); 64 66 DELETE0_SIGNAL(out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE,_param->_size_store_queue_ptr ); 65 67 DELETE0_SIGNAL(out_READ_QUEUE_OUT_STORE_QUEUE_PTR_READ ,_param->_size_store_queue_ptr ); -
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
r123 r136 27 27 if (PORT_READ(in_NRESET)) 28 28 { 29 30 // Tcontrol_t cancel = _queue_head->_cancel; 31 29 32 internal_READ_QUEUE_OUT_DATA_RA_VAL = (// Previous value 30 33 _queue_head->_data_ra_val or … … 36 39 37 40 log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_DATA_RA_VAL : %d",internal_READ_QUEUE_OUT_DATA_RA_VAL); 41 log_printf(TRACE,Read_queue,FUNCTION," * _queue_head->_cancel : %d",_queue_head->_cancel ); 38 42 log_printf(TRACE,Read_queue,FUNCTION," * _queue_head->_data_ra_val : %d",_queue_head->_data_ra_val); 39 43 log_printf(TRACE,Read_queue,FUNCTION," * _queue_head->_read_ra_val : %d",_queue_head->_read_ra_val); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_genMoore.cpp
r123 r136 37 37 38 38 if(_param->_have_port_context_id ) 39 39 PORT_WRITE (out_READ_QUEUE_OUT_CONTEXT_ID , _queue_head->_context_id ); 40 40 if(_param->_have_port_front_end_id ) 41 41 PORT_WRITE (out_READ_QUEUE_OUT_FRONT_END_ID , _queue_head->_front_end_id); 42 42 if(_param->_have_port_ooo_engine_id) 43 43 PORT_WRITE (out_READ_QUEUE_OUT_OOO_ENGINE_ID, _queue_head->_ooo_engine_id); 44 44 if(_param->_have_port_rob_ptr ) 45 45 PORT_WRITE (out_READ_QUEUE_OUT_ROB_ID , _queue_head->_rob_id ); 46 46 PORT_WRITE (out_READ_QUEUE_OUT_OPERATION , _queue_head->_operation ); 47 47 PORT_WRITE (out_READ_QUEUE_OUT_TYPE , _queue_head->_type ); 48 PORT_WRITE (out_READ_QUEUE_OUT_CANCEL , _queue_head->_cancel ); 48 49 PORT_WRITE (out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE, _queue_head->_store_queue_ptr_write); 49 50 PORT_WRITE (out_READ_QUEUE_OUT_STORE_QUEUE_PTR_READ , _queue_head->_store_queue_ptr_read ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_transition.cpp
r128 r136 49 49 _queue_head->_operation = 0;// not necessary 50 50 _queue_head->_type = 0;// not necessary 51 _queue_head->_cancel = 0;// not necessary 51 52 _queue_head->_store_queue_ptr_write = 0;// not necessary 52 53 _queue_head->_store_queue_ptr_read = 0;// not necessary … … 102 103 entry->_operation = PORT_READ(in_READ_QUEUE_IN_OPERATION ); 103 104 entry->_type = PORT_READ(in_READ_QUEUE_IN_TYPE ); 105 entry->_cancel = PORT_READ(in_READ_QUEUE_IN_CANCEL ); 104 106 entry->_store_queue_ptr_write = PORT_READ(in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE); 105 107 entry->_store_queue_ptr_read = PORT_READ(in_READ_QUEUE_IN_STORE_QUEUE_PTR_READ ); … … 181 183 if (_queue->size()>0) 182 184 { 183 log_printf(TRACE,Read_queue,FUNCTION," * [%.4d] %.2d %.2d %.2d %.4d, %.2d %.3d , %.2d %.2d %.1d %.2d, %.1d %.8x, %.1d %.1d %.4d %.1d %.8x, %.1d %.1d %.4d %.1d %.8x, %.1d %.1d %.4d %.1d %.2x, %.1d %.4d, %.1d %.4d (%s)",185 log_printf(TRACE,Read_queue,FUNCTION," * [%.4d] %.2d %.2d %.2d %.4d, %.2d %.3d %.1d, %.2d %.2d %.1d %.2d, %.1d %.8x, %.1d %.1d %.4d %.1d %.8x, %.1d %.1d %.4d %.1d %.8x, %.1d %.1d %.4d %.1d %.2x, %.1d %.4d, %.1d %.4d (%s)", 184 186 0, 185 187 … … 191 193 _queue_head->_type , 192 194 _queue_head->_operation , 195 _queue_head->_cancel , 193 196 194 197 _queue_head->_store_queue_ptr_write, … … 233 236 for (;it!=_queue->end(); ++it) 234 237 { 235 log_printf(TRACE,Read_queue,FUNCTION," * [%.4d] %.2d %.2d %.2d %.4d, %.2d %.3d , %.2d %.2d %.1d %.2d, %.1d %.8x, %.1d %.4d , %.1d %.4d , %.1d %.4d , %.1d %.4d, %.1d %.4d (%s)",238 log_printf(TRACE,Read_queue,FUNCTION," * [%.4d] %.2d %.2d %.2d %.4d, %.2d %.3d %.1d, %.2d %.2d %.1d %.2d, %.1d %.8x, %.1d %.4d , %.1d %.4d , %.1d %.4d , %.1d %.4d, %.1d %.4d (%s)", 236 239 i, 237 240 … … 243 246 (*it)->_type , 244 247 (*it)->_operation , 248 (*it)->_cancel , 245 249 246 250 (*it)->_store_queue_ptr_write, -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Reservation_station.h
r122 r136 73 73 public : SC_IN (Toperation_t ) * in_INSERT_OPERATION ; 74 74 public : SC_IN (Ttype_t ) * in_INSERT_TYPE ; 75 public : SC_IN (Tcontrol_t ) * in_INSERT_CANCEL ; 75 76 public : SC_IN (Tlsq_ptr_t ) * in_INSERT_STORE_QUEUE_PTR_WRITE; 76 77 public : SC_IN (Tlsq_ptr_t ) * in_INSERT_STORE_QUEUE_PTR_READ ; … … 105 106 public : SC_OUT(Toperation_t ) ** out_RETIRE_OPERATION ; 106 107 public : SC_OUT(Ttype_t ) ** out_RETIRE_TYPE ; 108 public : SC_OUT(Tcontrol_t ) ** out_RETIRE_CANCEL ; 107 109 public : SC_OUT(Tlsq_ptr_t ) ** out_RETIRE_STORE_QUEUE_PTR_WRITE; 108 110 public : SC_OUT(Tlsq_ptr_t ) ** out_RETIRE_STORE_QUEUE_PTR_READ ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Types.h
r122 r136 28 28 public : Toperation_t _operation ; 29 29 public : Ttype_t _type ; 30 public : Tcontrol_t _cancel ; 30 31 public : Tlsq_ptr_t _store_queue_ptr_write; 31 32 public : Tlsq_ptr_t _store_queue_ptr_read ; … … 60 61 << " * _operation : " << toString(x._operation ) << std::endl 61 62 << " * _type : " << toString(x._type ) << std::endl 63 << " * _cancel : " << toString(x._cancel ) << std::endl 62 64 << " * _store_queue_ptr_write : " << toString(x._store_queue_ptr_write) << std::endl 63 65 << " * _store_queue_ptr_read : " << toString(x._store_queue_ptr_read ) << std::endl -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station.cpp
r131 r136 37 37 ,_usage (usage) 38 38 { 39 log_printf(FUNC,Reservation_station,FUNCTION, "Begin");39 log_printf(FUNC,Reservation_station,FUNCTION,_("<%s> Begin"),_name.c_str()); 40 40 41 41 // #if DEBUG_Reservation_station == true … … 46 46 47 47 #ifdef SYSTEMC 48 log_printf(INFO,Reservation_station,FUNCTION, "Allocation");48 log_printf(INFO,Reservation_station,FUNCTION,_("<%s> Allocation"),_name.c_str()); 49 49 50 50 allocation (); … … 54 54 if (usage_is_set(_usage,USE_STATISTICS)) 55 55 { 56 log_printf(INFO,Reservation_station,FUNCTION, "Allocation of statistics");56 log_printf(INFO,Reservation_station,FUNCTION,_("<%s> Allocation of statistics"),_name.c_str()); 57 57 58 58 statistics_declaration(param_statistics); … … 64 64 { 65 65 // generate the vhdl 66 log_printf(INFO,Reservation_station,FUNCTION, "Generate the vhdl");66 log_printf(INFO,Reservation_station,FUNCTION,_("<%s> Generate the vhdl"),_name.c_str()); 67 67 68 68 vhdl(); … … 74 74 { 75 75 //#if defined(STATISTICS) or defined(VHDL_TESTBENCH) 76 log_printf(INFO,Reservation_station,FUNCTION, "Method - transition");76 log_printf(INFO,Reservation_station,FUNCTION,_("<%s> Method - transition"),_name.c_str()); 77 77 78 78 SC_METHOD (transition); … … 85 85 #endif 86 86 87 log_printf(INFO,Reservation_station,FUNCTION, "Method - genMoore");87 log_printf(INFO,Reservation_station,FUNCTION,_("<%s> Method - genMoore"),_name.c_str()); 88 88 89 89 SC_METHOD (genMoore); … … 96 96 } 97 97 #endif 98 log_printf(FUNC,Reservation_station,FUNCTION, "End");98 log_printf(FUNC,Reservation_station,FUNCTION,_("<%s> End"),_name.c_str()); 99 99 }; 100 100 … … 103 103 Reservation_station::~Reservation_station (void) 104 104 { 105 log_printf(FUNC,Reservation_station,FUNCTION, "Begin");105 log_printf(FUNC,Reservation_station,FUNCTION,_("<%s> Begin"),_name.c_str()); 106 106 107 107 #ifdef STATISTICS 108 108 if (usage_is_set(_usage,USE_STATISTICS)) 109 109 { 110 log_printf(INFO,Reservation_station,FUNCTION, "Generate Statistics file");110 log_printf(INFO,Reservation_station,FUNCTION,_("<%s> Generate Statistics file"),_name.c_str()); 111 111 112 112 delete _stat; … … 115 115 116 116 #ifdef SYSTEMC 117 log_printf(INFO,Reservation_station,FUNCTION, "Deallocation");117 log_printf(INFO,Reservation_station,FUNCTION,_("<%s> Deallocation"),_name.c_str()); 118 118 119 119 deallocation (); 120 120 #endif 121 121 122 log_printf(FUNC,Reservation_station,FUNCTION, "End");122 log_printf(FUNC,Reservation_station,FUNCTION,_("<%s> End"),_name.c_str()); 123 123 }; 124 124 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_allocation.cpp
r135 r136 63 63 ALLOC0_SIGNAL_IN ( in_INSERT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 64 64 ALLOC0_SIGNAL_IN ( in_INSERT_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 65 ALLOC0_SIGNAL_IN ( in_INSERT_CANCEL ,"cancel" ,Tcontrol_t ,1 ); 65 66 ALLOC0_SIGNAL_IN ( in_INSERT_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t ,_param->_size_store_queue_ptr ); 66 67 ALLOC0_SIGNAL_IN ( in_INSERT_STORE_QUEUE_PTR_READ ,"store_queue_ptr_read" ,Tlsq_ptr_t ,_param->_size_store_queue_ptr ); … … 101 102 ALLOC1_SIGNAL_OUT(out_RETIRE_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation); 102 103 ALLOC1_SIGNAL_OUT(out_RETIRE_TYPE ,"type" ,Ttype_t ,_param->_size_type); 104 ALLOC1_SIGNAL_OUT(out_RETIRE_CANCEL ,"cancel" ,Tcontrol_t ,1); 103 105 ALLOC1_SIGNAL_OUT(out_RETIRE_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t ,_param->_size_store_queue_ptr); 104 106 ALLOC1_SIGNAL_OUT(out_RETIRE_STORE_QUEUE_PTR_READ ,"store_queue_ptr_read" ,Tlsq_ptr_t ,_param->_size_store_queue_ptr); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_deallocation.cpp
r122 r136 42 42 DELETE0_SIGNAL( in_INSERT_OPERATION ,_param->_size_operation ); 43 43 DELETE0_SIGNAL( in_INSERT_TYPE ,_param->_size_type ); 44 DELETE0_SIGNAL( in_INSERT_CANCEL ,1 ); 44 45 DELETE0_SIGNAL( in_INSERT_STORE_QUEUE_PTR_WRITE,_param->_size_store_queue_ptr ); 45 46 DELETE0_SIGNAL( in_INSERT_STORE_QUEUE_PTR_READ ,_param->_size_store_queue_ptr ); … … 73 74 DELETE1_SIGNAL(out_RETIRE_OPERATION ,_param->_nb_inst_retire,_param->_size_operation); 74 75 DELETE1_SIGNAL(out_RETIRE_TYPE ,_param->_nb_inst_retire,_param->_size_type); 76 DELETE1_SIGNAL(out_RETIRE_CANCEL ,_param->_nb_inst_retire,1); 75 77 DELETE1_SIGNAL(out_RETIRE_STORE_QUEUE_PTR_WRITE,_param->_nb_inst_retire,_param->_size_store_queue_ptr); 76 78 DELETE1_SIGNAL(out_RETIRE_STORE_QUEUE_PTR_READ ,_param->_nb_inst_retire,_param->_size_store_queue_ptr); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_genMoore.cpp
r123 r136 112 112 PORT_WRITE(out_RETIRE_OPERATION [i],_queue[index_find]._operation); 113 113 PORT_WRITE(out_RETIRE_TYPE [i],_queue[index_find]._type); 114 PORT_WRITE(out_RETIRE_CANCEL [i],_queue[index_find]._cancel); 114 115 PORT_WRITE(out_RETIRE_STORE_QUEUE_PTR_WRITE [i],_queue[index_find]._store_queue_ptr_write); 115 116 PORT_WRITE(out_RETIRE_STORE_QUEUE_PTR_READ [i],_queue[index_find]._store_queue_ptr_read ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_transition.cpp
r128 r136 26 26 for (uint32_t it_dump=0;it_dump<_param->_size_queue; it_dump++) \ 27 27 if (_queue_valid [it_dump]) \ 28 log_printf(TRACE,Reservation_station,FUNCTION," * [%.4d] %.2d %.2d %.2d %.4d, %.2d %.3d , %.2d %.2d %.1d %.2d, %.1d %.8x, %.4d %.1d %.8x, %.4d %.1d %.8x, %.4d %.1d %.2x, %.1d %.4d, %.1d %.4d (%s)", \28 log_printf(TRACE,Reservation_station,FUNCTION," * [%.4d] %.2d %.2d %.2d %.4d, %.2d %.3d %.1d, %.2d %.2d %.1d %.2d, %.1d %.8x, %.4d %.1d %.8x, %.4d %.1d %.8x, %.4d %.1d %.2x, %.1d %.4d, %.1d %.4d (%s)", \ 29 29 it_dump, \ 30 30 _queue[it_dump]._context_id , \ … … 34 34 _queue[it_dump]._type , \ 35 35 _queue[it_dump]._operation , \ 36 _queue[it_dump]._cancel , \ 36 37 _queue[it_dump]._store_queue_ptr_write, \ 37 38 _queue[it_dump]._store_queue_ptr_read , \ … … 63 64 for (uint32_t it_dump=0;it_dump<_param->_size_queue; it_dump++) \ 64 65 if (it_dump < _queue_control->nb_elt()) \ 65 log_printf(TRACE,Reservation_station,FUNCTION," * [%.4d] %.2d %.2d %.2d %.4d, %.2d %.3d , %.2d %.2d %.1d %.2d, %.1d %.8x, %.4d %.1d %.8x, %.4d %.1d %.8x, %.4d %.1d %.2x, %.1d %.4d, %.1d %.4d (%s)", \66 log_printf(TRACE,Reservation_station,FUNCTION," * [%.4d] %.2d %.2d %.2d %.4d, %.2d %.3d %.1d, %.2d %.2d %.1d %.2d, %.1d %.8x, %.4d %.1d %.8x, %.4d %.1d %.8x, %.4d %.1d %.2x, %.1d %.4d, %.1d %.4d (%s)", \ 66 67 (*_queue_control)[it_dump], \ 67 68 _queue[(*_queue_control)[it_dump]]._context_id , \ … … 71 72 _queue[(*_queue_control)[it_dump]]._type , \ 72 73 _queue[(*_queue_control)[it_dump]]._operation , \ 74 _queue[(*_queue_control)[it_dump]]._cancel , \ 73 75 _queue[(*_queue_control)[it_dump]]._store_queue_ptr_write, \ 74 76 _queue[(*_queue_control)[it_dump]]._store_queue_ptr_read , \ … … 121 123 _queue[i]._operation = 0; // not necessary 122 124 _queue[i]._type = 0; // not necessary 125 _queue[i]._cancel = 0; // not necessary 123 126 _queue[i]._store_queue_ptr_write = 0; // not necessary 124 127 _queue[i]._store_queue_ptr_read = 0; // not necessary … … 327 330 _queue[index]._operation = PORT_READ(in_INSERT_OPERATION ); 328 331 _queue[index]._type = PORT_READ(in_INSERT_TYPE ); 332 _queue[index]._cancel = PORT_READ(in_INSERT_CANCEL ); 329 333 _queue[index]._store_queue_ptr_write = PORT_READ(in_INSERT_STORE_QUEUE_PTR_WRITE); 330 334 _queue[index]._store_queue_ptr_read = PORT_READ(in_INSERT_STORE_QUEUE_PTR_READ ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/include/Read_unit.h
r122 r136 73 73 public : SC_IN (Toperation_t ) * in_READ_UNIT_IN_OPERATION ; 74 74 public : SC_IN (Ttype_t ) * in_READ_UNIT_IN_TYPE ; 75 public : SC_IN (Tcontrol_t ) * in_READ_UNIT_IN_CANCEL ; 75 76 public : SC_IN (Tlsq_ptr_t ) * in_READ_UNIT_IN_STORE_QUEUE_PTR_WRITE; 76 77 public : SC_IN (Tlsq_ptr_t ) * in_READ_UNIT_IN_STORE_QUEUE_PTR_READ ; … … 99 100 public : SC_OUT(Toperation_t ) ** out_READ_UNIT_OUT_OPERATION ; 100 101 public : SC_OUT(Ttype_t ) ** out_READ_UNIT_OUT_TYPE ; 102 public : SC_OUT(Tcontrol_t ) ** out_READ_UNIT_OUT_CANCEL ; 101 103 public : SC_OUT(Tlsq_ptr_t ) ** out_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE; 102 104 public : SC_OUT(Tlsq_ptr_t ) ** out_READ_UNIT_OUT_STORE_QUEUE_PTR_READ ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Read_unit.cpp
r123 r136 36 36 ,_usage (usage) 37 37 { 38 log_printf(FUNC,Read_unit,FUNCTION, "Begin");38 log_printf(FUNC,Read_unit,FUNCTION,_("<%s> Begin"),_name.c_str()); 39 39 40 40 // #if DEBUG_Read_unit == true … … 44 44 // #endif 45 45 46 log_printf(INFO,Read_unit,FUNCTION, "Allocation");46 log_printf(INFO,Read_unit,FUNCTION,_("<%s> Allocation"),_name.c_str()); 47 47 48 48 allocation ( … … 55 55 if (usage_is_set(_usage,USE_STATISTICS)) 56 56 { 57 log_printf(INFO,Read_unit,FUNCTION, "Allocation of statistics");57 log_printf(INFO,Read_unit,FUNCTION,_("<%s> Allocation of statistics"),_name.c_str()); 58 58 59 59 statistics_declaration(param_statistics); … … 65 65 { 66 66 // generate the vhdl 67 log_printf(INFO,Read_unit,FUNCTION, "Generate the vhdl");67 log_printf(INFO,Read_unit,FUNCTION,_("<%s> Generate the vhdl"),_name.c_str()); 68 68 69 69 vhdl(); … … 74 74 if (usage_is_set(_usage,USE_SYSTEMC)) 75 75 { 76 log_printf(INFO,Read_unit,FUNCTION, "Method - transition");76 log_printf(INFO,Read_unit,FUNCTION,_("<%s> Method - transition"),_name.c_str()); 77 77 78 78 SC_METHOD (transition); … … 86 86 #endif 87 87 } 88 log_printf(FUNC,Read_unit,FUNCTION, "End");88 log_printf(FUNC,Read_unit,FUNCTION,_("<%s> End"),_name.c_str()); 89 89 }; 90 90 … … 93 93 Read_unit::~Read_unit (void) 94 94 { 95 log_printf(FUNC,Read_unit,FUNCTION, "Begin");95 log_printf(FUNC,Read_unit,FUNCTION,_("<%s> Begin"),_name.c_str()); 96 96 97 97 #ifdef STATISTICS 98 98 if (usage_is_set(_usage,USE_STATISTICS)) 99 99 { 100 log_printf(INFO,Read_unit,FUNCTION, "Generate Statistics file");100 log_printf(INFO,Read_unit,FUNCTION,_("<%s> Generate Statistics file"),_name.c_str()); 101 101 102 102 delete _stat; … … 104 104 #endif 105 105 106 log_printf(INFO,Read_unit,FUNCTION, "Deallocation");106 log_printf(INFO,Read_unit,FUNCTION,_("<%s> Deallocation"),_name.c_str()); 107 107 deallocation (); 108 108 109 log_printf(FUNC,Read_unit,FUNCTION, "End");109 log_printf(FUNC,Read_unit,FUNCTION,_("<%s> End"),_name.c_str()); 110 110 }; 111 111 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Read_unit_allocation.cpp
r122 r136 67 67 ALLOC0_SIGNAL_IN ( in_READ_UNIT_IN_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 68 68 ALLOC0_SIGNAL_IN ( in_READ_UNIT_IN_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 69 ALLOC0_SIGNAL_IN ( in_READ_UNIT_IN_CANCEL ,"cancel" ,Tcontrol_t ,1); 69 70 ALLOC0_SIGNAL_IN ( in_READ_UNIT_IN_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t ,_param->_size_store_queue_ptr); 70 71 ALLOC0_SIGNAL_IN ( in_READ_UNIT_IN_STORE_QUEUE_PTR_READ ,"store_queue_ptr_read" ,Tlsq_ptr_t ,_param->_size_store_queue_ptr); … … 99 100 ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 100 101 ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 102 ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_CANCEL ,"cancel" ,Tcontrol_t ,1); 101 103 ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t ,_param->_size_store_queue_ptr); 102 104 ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_STORE_QUEUE_PTR_READ ,"store_queue_ptr_read" ,Tlsq_ptr_t ,_param->_size_store_queue_ptr); … … 271 273 _component->port_map(name, "in_READ_QUEUE_IN_OPERATION" ,dest, "in_READ_UNIT_IN_OPERATION" ); 272 274 _component->port_map(name, "in_READ_QUEUE_IN_TYPE" ,dest, "in_READ_UNIT_IN_TYPE" ); 275 _component->port_map(name, "in_READ_QUEUE_IN_CANCEL" ,dest, "in_READ_UNIT_IN_CANCEL" ); 273 276 _component->port_map(name, "in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE",dest, "in_READ_UNIT_IN_STORE_QUEUE_PTR_WRITE"); 274 277 _component->port_map(name, "in_READ_QUEUE_IN_STORE_QUEUE_PTR_READ" ,dest, "in_READ_UNIT_IN_STORE_QUEUE_PTR_READ" ); … … 310 313 _component->port_map(name,"out_READ_QUEUE_OUT_OPERATION" ,dest, "in_INSERT_OPERATION" ); 311 314 _component->port_map(name,"out_READ_QUEUE_OUT_TYPE" ,dest, "in_INSERT_TYPE" ); 315 _component->port_map(name,"out_READ_QUEUE_OUT_CANCEL" ,dest, "in_INSERT_CANCEL" ); 312 316 _component->port_map(name,"out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE",dest, "in_INSERT_STORE_QUEUE_PTR_WRITE"); 313 317 _component->port_map(name,"out_READ_QUEUE_OUT_STORE_QUEUE_PTR_READ" ,dest, "in_INSERT_STORE_QUEUE_PTR_READ" ); … … 436 440 _component->port_map(name, "in_INSERT_OPERATION" ,dest,"out_READ_QUEUE_OUT_OPERATION" ); 437 441 _component->port_map(name, "in_INSERT_TYPE" ,dest,"out_READ_QUEUE_OUT_TYPE" ); 442 _component->port_map(name, "in_INSERT_CANCEL" ,dest,"out_READ_QUEUE_OUT_CANCEL" ); 438 443 _component->port_map(name, "in_INSERT_STORE_QUEUE_PTR_WRITE",dest,"out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE"); 439 444 _component->port_map(name, "in_INSERT_STORE_QUEUE_PTR_READ" ,dest,"out_READ_QUEUE_OUT_STORE_QUEUE_PTR_READ" ); … … 483 488 _component->port_map(name,"out_RETIRE_"+toString(i)+"_OPERATION" ,dest,"out_READ_UNIT_OUT_"+toString(i)+"_OPERATION" ); 484 489 _component->port_map(name,"out_RETIRE_"+toString(i)+"_TYPE" ,dest,"out_READ_UNIT_OUT_"+toString(i)+"_TYPE" ); 490 _component->port_map(name,"out_RETIRE_"+toString(i)+"_CANCEL" ,dest,"out_READ_UNIT_OUT_"+toString(i)+"_CANCEL" ); 485 491 _component->port_map(name,"out_RETIRE_"+toString(i)+"_STORE_QUEUE_PTR_WRITE",dest,"out_READ_UNIT_OUT_"+toString(i)+"_STORE_QUEUE_PTR_WRITE"); 486 492 _component->port_map(name,"out_RETIRE_"+toString(i)+"_STORE_QUEUE_PTR_READ" ,dest,"out_READ_UNIT_OUT_"+toString(i)+"_STORE_QUEUE_PTR_READ" ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Read_unit_deallocation.cpp
r128 r136 34 34 DELETE0_SIGNAL( in_READ_UNIT_IN_FRONT_END_ID ,_param->_size_front_end_id ); 35 35 DELETE0_SIGNAL( in_READ_UNIT_IN_OOO_ENGINE_ID ,_param->_size_ooo_engine_id); 36 DELETE0_SIGNAL( in_READ_UNIT_IN_PACKET_ID ,_param->_size_rob_ptr );36 DELETE0_SIGNAL( in_READ_UNIT_IN_PACKET_ID ,_param->_size_rob_ptr ); 37 37 DELETE0_SIGNAL( in_READ_UNIT_IN_OPERATION ,_param->_size_operation ); 38 38 DELETE0_SIGNAL( in_READ_UNIT_IN_TYPE ,_param->_size_type ); 39 DELETE0_SIGNAL( in_READ_UNIT_IN_CANCEL ,1); 39 40 DELETE0_SIGNAL( in_READ_UNIT_IN_STORE_QUEUE_PTR_WRITE,_param->_size_store_queue_ptr); 40 41 DELETE0_SIGNAL( in_READ_UNIT_IN_STORE_QUEUE_PTR_READ ,_param->_size_store_queue_ptr); … … 62 63 DELETE1_SIGNAL(out_READ_UNIT_OUT_OPERATION ,_param->_nb_inst_retire,_param->_size_operation ); 63 64 DELETE1_SIGNAL(out_READ_UNIT_OUT_TYPE ,_param->_nb_inst_retire,_param->_size_type ); 65 DELETE1_SIGNAL(out_READ_UNIT_OUT_CANCEL ,_param->_nb_inst_retire,1); 64 66 DELETE1_SIGNAL(out_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE,_param->_nb_inst_retire,_param->_size_store_queue_ptr); 65 67 DELETE1_SIGNAL(out_READ_UNIT_OUT_STORE_QUEUE_PTR_READ ,_param->_nb_inst_retire,_param->_size_store_queue_ptr); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/include/Execute_queue.h
r113 r136 79 79 //public : SC_IN (Toperation_t ) * in_EXECUTE_QUEUE_IN_OPERATION ; 80 80 //public : SC_IN (Ttype_t ) * in_EXECUTE_QUEUE_IN_TYPE ; 81 public : SC_IN (Tcontrol_t ) * in_EXECUTE_QUEUE_IN_CANCEL ; 81 82 public : SC_IN (Tspecial_data_t ) * in_EXECUTE_QUEUE_IN_FLAGS ; 82 83 public : SC_IN (Texception_t ) * in_EXECUTE_QUEUE_IN_EXCEPTION ; … … 94 95 //public : SC_OUT(Toperation_t ) * out_EXECUTE_QUEUE_OUT_OPERATION ; 95 96 //public : SC_OUT(Ttype_t ) * out_EXECUTE_QUEUE_OUT_TYPE ; 97 public : SC_OUT(Tcontrol_t ) * out_EXECUTE_QUEUE_OUT_CANCEL ; 96 98 public : SC_OUT(Tspecial_data_t ) * out_EXECUTE_QUEUE_OUT_FLAGS ; 97 99 public : SC_OUT(Texception_t ) * out_EXECUTE_QUEUE_OUT_EXCEPTION ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/include/Types.h
r88 r136 28 28 //public : Toperation_t _operation ; 29 29 //public : Ttype_t _type ; 30 public : Tcontrol_t _cancel ; 30 31 public : Tspecial_data_t _flags ; 31 32 public : Texception_t _exception ; … … 40 41 //Toperation_t operation , 41 42 //Ttype_t type , 43 Tcontrol_t cancel , 42 44 Tspecial_data_t flags , 43 45 Texception_t exception , … … 52 54 //_operation = operation ; 53 55 //_type = type ; 56 _cancel = cancel ; 54 57 _flags = flags ; 55 58 _exception = exception ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/include/Wrapper_Execute_queue.h
r113 r136 43 43 //public : SC_IN (Toperation_t ) * in_EXECUTE_QUEUE_IN_OPERATION ; 44 44 //public : SC_IN (Ttype_t ) * in_EXECUTE_QUEUE_IN_TYPE ; 45 public : SC_IN (Tcontrol_t ) * in_EXECUTE_QUEUE_IN_CANCEL ; 45 46 public : SC_IN (Tspecial_data_t) * in_EXECUTE_QUEUE_IN_FLAGS ; 46 47 public : SC_IN (Texception_t ) * in_EXECUTE_QUEUE_IN_EXCEPTION ; … … 58 59 //public : SC_OUT(Toperation_t ) * out_EXECUTE_QUEUE_OUT_OPERATION ; 59 60 //public : SC_OUT(Ttype_t ) * out_EXECUTE_QUEUE_OUT_TYPE ; 61 public : SC_OUT(Tcontrol_t ) * out_EXECUTE_QUEUE_OUT_CANCEL ; 60 62 public : SC_OUT(Tspecial_data_t) * out_EXECUTE_QUEUE_OUT_FLAGS ; 61 63 public : SC_OUT(Texception_t ) * out_EXECUTE_QUEUE_OUT_EXCEPTION ; … … 87 89 // ALLOC0_FOREIGN_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_OPERATION ,"execute_queue_in" ,"operation" ,Toperation_t ,_param->_size_operation ); 88 90 // ALLOC0_FOREIGN_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_TYPE ,"execute_queue_in" ,"type" ,Ttype_t ,_param->_size_type ); 91 ALLOC0_FOREIGN_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_CANCEL ,"execute_queue_in" ,"cancel" ,Tcontrol_t ,1 ); 89 92 ALLOC0_FOREIGN_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_FLAGS ,"execute_queue_in" ,"flags" ,Tspecial_data_t ,_param->_size_special_data ); 90 93 ALLOC0_FOREIGN_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_EXCEPTION ,"execute_queue_in" ,"exception" ,Texception_t ,_param->_size_exception ); … … 101 104 // ALLOC0_FOREIGN_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_OPERATION ,"execute_queue_out","operation" ,Toperation_t ,_param->_size_operation ); 102 105 // ALLOC0_FOREIGN_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_TYPE ,"execute_queue_out","type" ,Ttype_t ,_param->_size_type ); 106 ALLOC0_FOREIGN_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_CANCEL ,"execute_queue_out","cancel" ,Tcontrol_t ,1 ); 103 107 ALLOC0_FOREIGN_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_FLAGS ,"execute_queue_out","flags" ,Tspecial_data_t ,_param->_size_special_data ); 104 108 ALLOC0_FOREIGN_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_EXCEPTION ,"execute_queue_out","exception" ,Texception_t ,_param->_size_exception ); … … 123 127 // DELETE0_FOREIGN_SIGNAL( in_EXECUTE_QUEUE_IN_OPERATION ,_param->_size_operation ); 124 128 // DELETE0_FOREIGN_SIGNAL( in_EXECUTE_QUEUE_IN_TYPE ,_param->_size_type ); 129 DELETE0_FOREIGN_SIGNAL( in_EXECUTE_QUEUE_IN_CANCEL ,1 ); 125 130 DELETE0_FOREIGN_SIGNAL( in_EXECUTE_QUEUE_IN_FLAGS ,_param->_size_special_data ); 126 131 DELETE0_FOREIGN_SIGNAL( in_EXECUTE_QUEUE_IN_EXCEPTION ,_param->_size_exception ); … … 137 142 // DELETE0_FOREIGN_SIGNAL(out_EXECUTE_QUEUE_OUT_OPERATION ,_param->_size_operation ); 138 143 // DELETE0_FOREIGN_SIGNAL(out_EXECUTE_QUEUE_OUT_TYPE ,_param->_size_type ); 144 DELETE0_FOREIGN_SIGNAL(out_EXECUTE_QUEUE_OUT_CANCEL ,1 ); 139 145 DELETE0_FOREIGN_SIGNAL(out_EXECUTE_QUEUE_OUT_FLAGS ,_param->_size_special_data ); 140 146 DELETE0_FOREIGN_SIGNAL(out_EXECUTE_QUEUE_OUT_EXCEPTION ,_param->_size_exception ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_allocation.cpp
r113 r136 61 61 // ALLOC0_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 62 62 // ALLOC0_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 63 ALLOC0_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_CANCEL ,"cancel" ,Tcontrol_t ,1 ); 63 64 ALLOC0_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_FLAGS ,"flags" ,Tspecial_data_t ,_param->_size_special_data ); 64 65 ALLOC0_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_EXCEPTION ,"exception" ,Texception_t ,_param->_size_exception ); … … 82 83 // ALLOC0_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 83 84 // ALLOC0_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 85 ALLOC0_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_CANCEL ,"cancel" ,Tcontrol_t ,1 ); 84 86 ALLOC0_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_FLAGS ,"flags" ,Tspecial_data_t,_param->_size_special_data ); 85 87 ALLOC0_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_EXCEPTION ,"exception" ,Texception_t ,_param->_size_exception ); … … 184 186 // INSTANCE0_FOREIGN_SIGNAL(_wrapper, in_EXECUTE_QUEUE_IN_OPERATION ,Toperation_t , "in_EXECUTE_QUEUE_IN_OPERATION" ,_param->_size_operation ); 185 187 // INSTANCE0_FOREIGN_SIGNAL(_wrapper, in_EXECUTE_QUEUE_IN_TYPE ,Ttype_t , "in_EXECUTE_QUEUE_IN_TYPE" ,_param->_size_type ); 188 INSTANCE0_FOREIGN_SIGNAL(_wrapper, in_EXECUTE_QUEUE_IN_CANCEL ,Tcontrol_t , "in_EXECUTE_QUEUE_IN_CANCEL" ,1 ); 186 189 INSTANCE0_FOREIGN_SIGNAL(_wrapper, in_EXECUTE_QUEUE_IN_FLAGS ,Tspecial_data_t, "in_EXECUTE_QUEUE_IN_FLAGS" ,_param->_size_special_data ); 187 190 INSTANCE0_FOREIGN_SIGNAL(_wrapper, in_EXECUTE_QUEUE_IN_EXCEPTION ,Texception_t , "in_EXECUTE_QUEUE_IN_EXCEPTION" ,_param->_size_exception ); … … 198 201 // INSTANCE0_FOREIGN_SIGNAL(_wrapper,out_EXECUTE_QUEUE_OUT_OPERATION ,Toperation_t ,"out_EXECUTE_QUEUE_OUT_OPERATION" ,_param->_size_operation ); 199 202 // INSTANCE0_FOREIGN_SIGNAL(_wrapper,out_EXECUTE_QUEUE_OUT_TYPE ,Ttype_t ,"out_EXECUTE_QUEUE_OUT_TYPE" ,_param->_size_type ); 203 INSTANCE0_FOREIGN_SIGNAL(_wrapper,out_EXECUTE_QUEUE_OUT_CANCEL ,Tcontrol_t ,"out_EXECUTE_QUEUE_OUT_CANCEL" ,1 ); 200 204 INSTANCE0_FOREIGN_SIGNAL(_wrapper,out_EXECUTE_QUEUE_OUT_FLAGS ,Tspecial_data_t,"out_EXECUTE_QUEUE_OUT_FLAGS" ,_param->_size_special_data ); 201 205 INSTANCE0_FOREIGN_SIGNAL(_wrapper,out_EXECUTE_QUEUE_OUT_EXCEPTION ,Texception_t ,"out_EXECUTE_QUEUE_OUT_EXCEPTION" ,_param->_size_exception ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_deallocation.cpp
r113 r136 38 38 // DELETE0_SIGNAL( in_EXECUTE_QUEUE_IN_OPERATION ,_param->_size_operation ); 39 39 // DELETE0_SIGNAL( in_EXECUTE_QUEUE_IN_TYPE ,_param->_size_type ); 40 DELETE0_SIGNAL( in_EXECUTE_QUEUE_IN_CANCEL ,1 ); 40 41 DELETE0_SIGNAL( in_EXECUTE_QUEUE_IN_FLAGS ,_param->_size_special_data ); 41 42 DELETE0_SIGNAL( in_EXECUTE_QUEUE_IN_EXCEPTION ,_param->_size_exception ); … … 52 53 // DELETE0_SIGNAL(out_EXECUTE_QUEUE_OUT_OPERATION ,_param->_size_operation ); 53 54 // DELETE0_SIGNAL(out_EXECUTE_QUEUE_OUT_TYPE ,_param->_size_type ); 55 DELETE0_SIGNAL(out_EXECUTE_QUEUE_OUT_CANCEL ,1 ); 54 56 DELETE0_SIGNAL(out_EXECUTE_QUEUE_OUT_FLAGS ,_param->_size_special_data ); 55 57 DELETE0_SIGNAL(out_EXECUTE_QUEUE_OUT_EXCEPTION ,_param->_size_exception ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_genMoore.cpp
r123 r136 49 49 // PORT_WRITE(out_EXECUTE_QUEUE_OUT_OPERATION , _queue->front()->_operation ); 50 50 // PORT_WRITE(out_EXECUTE_QUEUE_OUT_TYPE , _queue->front()->_type ); 51 PORT_WRITE(out_EXECUTE_QUEUE_OUT_CANCEL , _queue->front()->_cancel ); 51 52 PORT_WRITE(out_EXECUTE_QUEUE_OUT_FLAGS , _queue->front()->_flags ); 52 53 PORT_WRITE(out_EXECUTE_QUEUE_OUT_EXCEPTION , _queue->front()->_exception ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_transition.cpp
r101 r136 47 47 //PORT_READ(in_EXECUTE_QUEUE_IN_OPERATION ), 48 48 //PORT_READ(in_EXECUTE_QUEUE_IN_TYPE ), 49 PORT_READ(in_EXECUTE_QUEUE_IN_CANCEL ), 49 50 PORT_READ(in_EXECUTE_QUEUE_IN_FLAGS ), 50 51 PORT_READ(in_EXECUTE_QUEUE_IN_EXCEPTION ), … … 77 78 ++it) 78 79 { 79 log_printf(TRACE,Execute_queue,FUNCTION," [%d] %.2d %.2d %.2d, %. 4d, %.1d, %.2d %.1d, %.8x %.8x",80 log_printf(TRACE,Execute_queue,FUNCTION," [%d] %.2d %.2d %.2d, %.1d, %.4d, %.1d, %.2d %.1d, %.8x %.8x", 80 81 i, 81 82 (*it)->_context_id , … … 85 86 //(*it)->_operation , 86 87 //(*it)->_type , 88 (*it)->_cancel , 87 89 (*it)->_flags , 88 90 (*it)->_exception , -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/include/Types.h
r118 r136 40 40 //public : Toperation_t _operation ; 41 41 //public : Ttype_t _type ; 42 public : Tcontrol_t _cancel ; 42 43 public : Tcontrol_t _write_rd ; 43 44 public : Tgeneral_address_t _num_reg_rd ; … … 56 57 // Toperation_t operation , 57 58 // Ttype_t type , 59 Tcontrol_t cancel , 58 60 Tcontrol_t write_rd , 59 61 Tgeneral_address_t num_reg_rd , … … 72 74 //_operation = operation ; 73 75 //_type = type ; 76 _cancel = cancel ; 74 77 _write_rd = write_rd ; 75 78 _num_reg_rd = num_reg_rd ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/include/Write_queue.h
r118 r136 79 79 //public : SC_IN (Toperation_t ) * in_WRITE_QUEUE_IN_OPERATION ; 80 80 //public : SC_IN (Ttype_t ) * in_WRITE_QUEUE_IN_TYPE ; 81 public : SC_IN (Tcontrol_t ) * in_WRITE_QUEUE_IN_CANCEL ; 81 82 public : SC_IN (Tcontrol_t ) * in_WRITE_QUEUE_IN_WRITE_RD ; 82 83 public : SC_IN (Tgeneral_address_t) * in_WRITE_QUEUE_IN_NUM_REG_RD ; … … 98 99 //public : SC_OUT(Toperation_t ) * out_WRITE_QUEUE_OUT_OPERATION ; 99 100 //public : SC_OUT(Ttype_t ) * out_WRITE_QUEUE_OUT_TYPE ; 101 public : SC_OUT(Tcontrol_t ) * out_WRITE_QUEUE_OUT_CANCEL ; 100 102 public : SC_OUT(Tspecial_data_t ) * out_WRITE_QUEUE_OUT_FLAGS ; 101 103 public : SC_OUT(Texception_t ) * out_WRITE_QUEUE_OUT_EXCEPTION ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_allocation.cpp
r114 r136 61 61 // ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 62 62 // ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 63 ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_CANCEL ,"cancel" ,Tcontrol_t ,1 ); 63 64 ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_WRITE_RD ,"write_rd" ,Tcontrol_t ,1 ); 64 65 ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_NUM_REG_RD ,"num_reg_rd" ,Tgeneral_address_t,_param->_size_general_register ); … … 86 87 // ALLOC0_SIGNAL_OUT(out_WRITE_QUEUE_OUT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 87 88 // ALLOC0_SIGNAL_OUT(out_WRITE_QUEUE_OUT_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 89 ALLOC0_SIGNAL_OUT(out_WRITE_QUEUE_OUT_CANCEL ,"cancel" ,Tcontrol_t ,1 ); 88 90 ALLOC0_SIGNAL_OUT(out_WRITE_QUEUE_OUT_FLAGS ,"flags" ,Tspecial_data_t,_param->_size_special_data ); 89 91 ALLOC0_SIGNAL_OUT(out_WRITE_QUEUE_OUT_EXCEPTION ,"exception" ,Texception_t ,_param->_size_exception ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_deallocation.cpp
r128 r136 38 38 // DELETE0_SIGNAL( in_WRITE_QUEUE_IN_OPERATION ,_param->_size_operation ); 39 39 // DELETE0_SIGNAL( in_WRITE_QUEUE_IN_TYPE ,_param->_size_type ); 40 DELETE0_SIGNAL( in_WRITE_QUEUE_IN_CANCEL ,1 ); 40 41 DELETE0_SIGNAL( in_WRITE_QUEUE_IN_WRITE_RD ,1 ); 41 42 DELETE0_SIGNAL( in_WRITE_QUEUE_IN_NUM_REG_RD ,_param->_size_general_register ); … … 56 57 // DELETE0_SIGNAL(out_WRITE_QUEUE_OUT_OPERATION ,_param->_size_operation ); 57 58 // DELETE0_SIGNAL(out_WRITE_QUEUE_OUT_TYPE ,_param->_size_type ); 59 DELETE0_SIGNAL(out_WRITE_QUEUE_OUT_CANCEL ,1 ); 58 60 DELETE0_SIGNAL(out_WRITE_QUEUE_OUT_FLAGS ,_param->_size_special_data ); 59 61 DELETE0_SIGNAL(out_WRITE_QUEUE_OUT_EXCEPTION ,_param->_size_exception ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_genMealy_write.cpp
r123 r136 86 86 // PORT_WRITE(out_WRITE_QUEUE_OUT_OPERATION , _queue->front()->_operation ); 87 87 // PORT_WRITE(out_WRITE_QUEUE_OUT_TYPE , _queue->front()->_type ); 88 PORT_WRITE(out_WRITE_QUEUE_OUT_CANCEL , _queue->front()->_cancel ); 88 89 PORT_WRITE(out_WRITE_QUEUE_OUT_FLAGS , _queue->front()->_data_re ); 89 90 PORT_WRITE(out_WRITE_QUEUE_OUT_EXCEPTION , _queue->front()->_exception ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_genMoore.cpp
r133 r136 119 119 // PORT_WRITE(out_WRITE_QUEUE_OUT_OPERATION , _queue->front()->_operation ); 120 120 // PORT_WRITE(out_WRITE_QUEUE_OUT_TYPE , _queue->front()->_type ); 121 PORT_WRITE(out_WRITE_QUEUE_OUT_CANCEL , _queue->front()->_cancel ); 121 122 PORT_WRITE(out_WRITE_QUEUE_OUT_FLAGS , _queue->front()->_data_re ); 122 123 PORT_WRITE(out_WRITE_QUEUE_OUT_EXCEPTION , _queue->front()->_exception ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_transition.cpp
r128 r136 54 54 //PORT_READ(in_WRITE_QUEUE_IN_OPERATION ), 55 55 //PORT_READ(in_WRITE_QUEUE_IN_TYPE ), 56 PORT_READ(in_WRITE_QUEUE_IN_CANCEL ), 56 57 PORT_READ(in_WRITE_QUEUE_IN_WRITE_RD ), 57 58 PORT_READ(in_WRITE_QUEUE_IN_NUM_REG_RD ), … … 96 97 ++it) 97 98 { 98 log_printf(TRACE,Write_queue,FUNCTION," [%d] %.2d %.2d %.2d, %.4d, %.1d %.4d %.8x, %.1d %.4d %.1d, %.2d %.1d, %.8x",99 log_printf(TRACE,Write_queue,FUNCTION," [%d] %.2d %.2d %.2d, %.4d, %.1d, %.1d %.4d %.8x, %.1d %.4d %.1d, %.2d %.1d, %.8x", 99 100 i, 100 101 (*it)->_context_id , … … 104 105 //(*it)->_operation , 105 106 //(*it)->_type , 107 (*it)->_cancel , 106 108 (*it)->_write_rd , 107 109 (*it)->_num_reg_rd , -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/include/Write_unit.h
r113 r136 72 72 //public : SC_IN (Toperation_t ) * in_WRITE_UNIT_IN_OPERATION ; 73 73 //public : SC_IN (Ttype_t ) * in_WRITE_UNIT_IN_TYPE ; 74 public : SC_IN (Tcontrol_t ) * in_WRITE_UNIT_IN_CANCEL ; 74 75 public : SC_IN (Tcontrol_t ) * in_WRITE_UNIT_IN_WRITE_RD ; 75 76 public : SC_IN (Tgeneral_address_t) * in_WRITE_UNIT_IN_NUM_REG_RD ; … … 91 92 //public : SC_OUT(Toperation_t ) * out_WRITE_UNIT_OUT_OPERATION ; 92 93 //public : SC_OUT(Ttype_t ) * out_WRITE_UNIT_OUT_TYPE ; 94 public : SC_OUT(Tcontrol_t ) * out_WRITE_UNIT_OUT_CANCEL ; 93 95 public : SC_OUT(Tspecial_data_t ) * out_WRITE_UNIT_OUT_FLAGS ; 94 96 public : SC_OUT(Texception_t ) * out_WRITE_UNIT_OUT_EXCEPTION ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/src/Write_unit_allocation.cpp
r113 r136 67 67 // ALLOC0_SIGNAL_IN ( in_WRITE_UNIT_IN_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 68 68 // ALLOC0_SIGNAL_IN ( in_WRITE_UNIT_IN_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 69 ALLOC0_SIGNAL_IN ( in_WRITE_UNIT_IN_CANCEL ,"cancel" ,Tcontrol_t ,1 ); 69 70 ALLOC0_SIGNAL_IN ( in_WRITE_UNIT_IN_WRITE_RD ,"write_rd" ,Tcontrol_t ,1 ); 70 71 ALLOC0_SIGNAL_IN ( in_WRITE_UNIT_IN_NUM_REG_RD ,"num_reg_rd" ,Tgeneral_address_t,_param->_size_general_register ); … … 92 93 // ALLOC0_SIGNAL_OUT(out_WRITE_UNIT_OUT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 93 94 // ALLOC0_SIGNAL_OUT(out_WRITE_UNIT_OUT_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 95 ALLOC0_SIGNAL_OUT(out_WRITE_UNIT_OUT_CANCEL ,"cancel" ,Tcontrol_t ,1 ); 94 96 ALLOC0_SIGNAL_OUT(out_WRITE_UNIT_OUT_FLAGS ,"flags" ,Tspecial_data_t,_param->_size_special_data ); 95 97 ALLOC0_SIGNAL_OUT(out_WRITE_UNIT_OUT_EXCEPTION ,"exception" ,Texception_t ,_param->_size_exception ); … … 216 218 //_component->port_map(name, "in_WRITE_QUEUE_IN_OPERATION" , _name, "in_WRITE_UNIT_IN_OPERATION" ); 217 219 //_component->port_map(name, "in_WRITE_QUEUE_IN_TYPE" , _name, "in_WRITE_UNIT_IN_TYPE" ); 220 _component->port_map(name, "in_WRITE_QUEUE_IN_CANCEL" , _name, "in_WRITE_UNIT_IN_CANCEL" ); 218 221 _component->port_map(name, "in_WRITE_QUEUE_IN_WRITE_RD" , _name, "in_WRITE_UNIT_IN_WRITE_RD" ); 219 222 _component->port_map(name, "in_WRITE_QUEUE_IN_NUM_REG_RD" , _name, "in_WRITE_UNIT_IN_NUM_REG_RD" ); … … 246 249 //_component->port_map(name,"out_WRITE_QUEUE_OUT_OPERATION" , _name+"_execute_queue", "in_EXECUTE_QUEUE_IN_OPERATION" ); 247 250 //_component->port_map(name,"out_WRITE_QUEUE_OUT_TYPE" , _name+"_execute_queue", "in_EXECUTE_QUEUE_IN_TYPE" ); 251 _component->port_map(name,"out_WRITE_QUEUE_OUT_CANCEL" , _name+"_execute_queue", "in_EXECUTE_QUEUE_IN_CANCEL" ); 248 252 _component->port_map(name,"out_WRITE_QUEUE_OUT_FLAGS" , _name+"_execute_queue", "in_EXECUTE_QUEUE_IN_FLAGS" ); 249 253 _component->port_map(name,"out_WRITE_QUEUE_OUT_EXCEPTION" , _name+"_execute_queue", "in_EXECUTE_QUEUE_IN_EXCEPTION" ); … … 272 276 //_component->port_map(name,"out_WRITE_QUEUE_OUT_TYPE" , _name,"out_WRITE_UNIT_OUT_TYPE" ); 273 277 _component->port_map(name,"out_WRITE_QUEUE_OUT_FLAGS" , _name,"out_WRITE_UNIT_OUT_FLAGS" ); 278 _component->port_map(name,"out_WRITE_QUEUE_OUT_CANCEL" , _name,"out_WRITE_UNIT_OUT_CANCEL" ); 274 279 _component->port_map(name,"out_WRITE_QUEUE_OUT_EXCEPTION" , _name,"out_WRITE_UNIT_OUT_EXCEPTION" ); 275 280 _component->port_map(name,"out_WRITE_QUEUE_OUT_NO_SEQUENCE" , _name,"out_WRITE_UNIT_OUT_NO_SEQUENCE" ); … … 358 363 //_component->port_map(name, "in_EXECUTE_QUEUE_IN_OPERATION" , _name+"_write_queue","out_WRITE_QUEUE_OUT_OPERATION" ); 359 364 //_component->port_map(name, "in_EXECUTE_QUEUE_IN_TYPE" , _name+"_write_queue","out_WRITE_QUEUE_OUT_TYPE" ); 365 _component->port_map(name, "in_EXECUTE_QUEUE_IN_CANCEL" , _name+"_write_queue","out_WRITE_QUEUE_OUT_CANCEL" ); 360 366 _component->port_map(name, "in_EXECUTE_QUEUE_IN_FLAGS" , _name+"_write_queue","out_WRITE_QUEUE_OUT_FLAGS" ); 361 367 _component->port_map(name, "in_EXECUTE_QUEUE_IN_EXCEPTION" , _name+"_write_queue","out_WRITE_QUEUE_OUT_EXCEPTION" ); … … 381 387 //_component->port_map(name,"out_EXECUTE_QUEUE_OUT_OPERATION" , _name,"out_WRITE_UNIT_OUT_OPERATION" ); 382 388 //_component->port_map(name,"out_EXECUTE_QUEUE_OUT_TYPE" , _name,"out_WRITE_UNIT_OUT_TYPE" ); 389 _component->port_map(name,"out_EXECUTE_QUEUE_OUT_CANCEL" , _name,"out_WRITE_UNIT_OUT_CANCEL" ); 383 390 _component->port_map(name,"out_EXECUTE_QUEUE_OUT_FLAGS" , _name,"out_WRITE_UNIT_OUT_FLAGS" ); 384 391 _component->port_map(name,"out_EXECUTE_QUEUE_OUT_EXCEPTION" , _name,"out_WRITE_UNIT_OUT_EXCEPTION" ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/src/Write_unit_deallocation.cpp
r112 r136 37 37 // DELETE0_SIGNAL( in_WRITE_UNIT_IN_OPERATION ,_param->_size_operation ); 38 38 // DELETE0_SIGNAL( in_WRITE_UNIT_IN_TYPE ,_param->_size_type ); 39 DELETE0_SIGNAL( in_WRITE_UNIT_IN_CANCEL ,1 ); 39 40 DELETE0_SIGNAL( in_WRITE_UNIT_IN_WRITE_RD ,1 ); 40 41 DELETE0_SIGNAL( in_WRITE_UNIT_IN_NUM_REG_RD ,_param->_size_general_register ); … … 55 56 // DELETE0_SIGNAL(out_WRITE_UNIT_OUT_OPERATION ,_param->_size_operation ); 56 57 // DELETE0_SIGNAL(out_WRITE_UNIT_OUT_TYPE ,_param->_size_type ); 58 DELETE0_SIGNAL(out_WRITE_UNIT_OUT_CANCEL ,1 ); 57 59 DELETE0_SIGNAL(out_WRITE_UNIT_OUT_FLAGS ,_param->_size_special_data ); 58 60 DELETE0_SIGNAL(out_WRITE_UNIT_OUT_EXCEPTION ,_param->_size_exception ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Execution_unit_to_Write_unit/include/Execution_unit_to_Write_unit.h
r97 r136 73 73 //public : SC_IN (Toperation_t ) *** in_EXECUTE_UNIT_OUT_OPERATION ; 74 74 //public : SC_IN (Ttype_t ) *** in_EXECUTE_UNIT_OUT_TYPE ; 75 public : SC_IN (Tcontrol_t ) *** in_EXECUTE_UNIT_OUT_CANCEL ; 75 76 public : SC_IN (Tcontrol_t ) *** in_EXECUTE_UNIT_OUT_WRITE_RD ; 76 77 public : SC_IN (Tgeneral_address_t) *** in_EXECUTE_UNIT_OUT_NUM_REG_RD ; … … 92 93 //public : SC_OUT(Toperation_t ) ** out_WRITE_UNIT_IN_OPERATION ; 93 94 //public : SC_OUT(Ttype_t ) ** out_WRITE_UNIT_IN_TYPE ; 95 public : SC_OUT(Tcontrol_t ) ** out_WRITE_UNIT_IN_CANCEL ; 94 96 public : SC_OUT(Tcontrol_t ) ** out_WRITE_UNIT_IN_WRITE_RD ; 95 97 public : SC_OUT(Tgeneral_address_t) ** out_WRITE_UNIT_IN_NUM_REG_RD ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Execution_unit_to_Write_unit/src/Execution_unit_to_Write_unit.cpp
r132 r136 36 36 ,_usage (usage) 37 37 { 38 log_printf(FUNC,Execution_unit_to_Write_unit,FUNCTION, "Begin");38 log_printf(FUNC,Execution_unit_to_Write_unit,FUNCTION,_("<%s> Begin"),_name.c_str()); 39 39 40 40 // #if DEBUG_Execution_unit_to_Write_unit == true … … 44 44 // #endif 45 45 46 log_printf(INFO,Execution_unit_to_Write_unit,FUNCTION, "Allocation");46 log_printf(INFO,Execution_unit_to_Write_unit,FUNCTION,_("<%s> Allocation"),_name.c_str()); 47 47 48 48 allocation ( … … 55 55 if (usage_is_set(_usage,USE_STATISTICS)) 56 56 { 57 log_printf(INFO,Execution_unit_to_Write_unit,FUNCTION, "Allocation of statistics");57 log_printf(INFO,Execution_unit_to_Write_unit,FUNCTION,_("<%s> Allocation of statistics"),_name.c_str()); 58 58 59 59 statistics_declaration(param_statistics); … … 65 65 { 66 66 // generate the vhdl 67 log_printf(INFO,Execution_unit_to_Write_unit,FUNCTION, "Generate the vhdl");67 log_printf(INFO,Execution_unit_to_Write_unit,FUNCTION,_("<%s> Generate the vhdl"),_name.c_str()); 68 68 69 69 vhdl(); … … 74 74 if (usage_is_set(_usage,USE_SYSTEMC)) 75 75 { 76 log_printf(INFO,Execution_unit_to_Write_unit,FUNCTION, "Method - transition");76 log_printf(INFO,Execution_unit_to_Write_unit,FUNCTION,_("<%s> Method - transition"),_name.c_str()); 77 77 78 78 SC_METHOD (transition); … … 84 84 # endif 85 85 86 log_printf(INFO,Execution_unit_to_Write_unit,FUNCTION, "Method - genMealy");86 log_printf(INFO,Execution_unit_to_Write_unit,FUNCTION,_("<%s> Method - genMealy"),_name.c_str()); 87 87 88 88 SC_METHOD (genMealy); … … 105 105 //<< (*(in_EXECUTE_UNIT_OUT_OPERATION [i][j])) 106 106 //<< (*(in_EXECUTE_UNIT_OUT_TYPE [i][j])) 107 << (*(in_EXECUTE_UNIT_OUT_CANCEL [i][j])) 107 108 << (*(in_EXECUTE_UNIT_OUT_WRITE_RD [i][j])) 108 109 << (*(in_EXECUTE_UNIT_OUT_NUM_REG_RD [i][j])) … … 371 372 #endif 372 373 } 373 log_printf(FUNC,Execution_unit_to_Write_unit,FUNCTION, "End");374 log_printf(FUNC,Execution_unit_to_Write_unit,FUNCTION,_("<%s> End"),_name.c_str()); 374 375 }; 375 376 … … 378 379 Execution_unit_to_Write_unit::~Execution_unit_to_Write_unit (void) 379 380 { 380 log_printf(FUNC,Execution_unit_to_Write_unit,FUNCTION, "Begin");381 log_printf(FUNC,Execution_unit_to_Write_unit,FUNCTION,_("<%s> Begin"),_name.c_str()); 381 382 382 383 #ifdef STATISTICS 383 384 if (usage_is_set(_usage,USE_STATISTICS)) 384 385 { 385 log_printf(INFO,Execution_unit_to_Write_unit,FUNCTION, "Generate Statistics file");386 log_printf(INFO,Execution_unit_to_Write_unit,FUNCTION,_("<%s> Generate Statistics file"),_name.c_str()); 386 387 387 388 delete _stat; … … 389 390 #endif 390 391 391 log_printf(INFO,Execution_unit_to_Write_unit,FUNCTION, "Deallocation");392 log_printf(INFO,Execution_unit_to_Write_unit,FUNCTION,_("<%s> Deallocation"),_name.c_str()); 392 393 deallocation (); 393 394 394 log_printf(FUNC,Execution_unit_to_Write_unit,FUNCTION, "End");395 log_printf(FUNC,Execution_unit_to_Write_unit,FUNCTION,_("<%s> End"),_name.c_str()); 395 396 }; 396 397 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Execution_unit_to_Write_unit/src/Execution_unit_to_Write_unit_allocation.cpp
r112 r136 68 68 //_ALLOC2_SIGNAL_IN ( in_EXECUTE_UNIT_OUT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation , _param->_nb_execute_unit, _param->_nb_execute_unit_port[it1]); 69 69 //_ALLOC2_SIGNAL_IN ( in_EXECUTE_UNIT_OUT_TYPE ,"type" ,Ttype_t ,_param->_size_type , _param->_nb_execute_unit, _param->_nb_execute_unit_port[it1]); 70 _ALLOC2_SIGNAL_IN ( in_EXECUTE_UNIT_OUT_CANCEL ,"cancel" ,Tcontrol_t ,1 , _param->_nb_execute_unit, _param->_nb_execute_unit_port[it1]); 70 71 _ALLOC2_SIGNAL_IN ( in_EXECUTE_UNIT_OUT_WRITE_RD ,"write_rd" ,Tcontrol_t ,1 , _param->_nb_execute_unit, _param->_nb_execute_unit_port[it1]); 71 72 _ALLOC2_SIGNAL_IN ( in_EXECUTE_UNIT_OUT_NUM_REG_RD ,"num_reg_rd" ,Tgeneral_address_t,_param->_size_general_register, _param->_nb_execute_unit, _param->_nb_execute_unit_port[it1]); … … 93 94 //ALLOC1_SIGNAL_OUT(out_WRITE_UNIT_IN_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 94 95 //ALLOC1_SIGNAL_OUT(out_WRITE_UNIT_IN_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 96 ALLOC1_SIGNAL_OUT(out_WRITE_UNIT_IN_CANCEL ,"cancel" ,Tcontrol_t ,1 ); 95 97 ALLOC1_SIGNAL_OUT(out_WRITE_UNIT_IN_WRITE_RD ,"write_rd" ,Tcontrol_t ,1 ); 96 98 ALLOC1_SIGNAL_OUT(out_WRITE_UNIT_IN_NUM_REG_RD ,"num_reg_rd" ,Tgeneral_address_t,_param->_size_general_register); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Execution_unit_to_Write_unit/src/Execution_unit_to_Write_unit_deallocation.cpp
r112 r136 37 37 // DELETE2_SIGNAL( in_EXECUTE_UNIT_OUT_OPERATION , _param->_nb_execute_unit, _param->_nb_execute_unit_port[it1],_param->_size_operation ); 38 38 // DELETE2_SIGNAL( in_EXECUTE_UNIT_OUT_TYPE , _param->_nb_execute_unit, _param->_nb_execute_unit_port[it1],_param->_size_type ); 39 DELETE2_SIGNAL( in_EXECUTE_UNIT_OUT_CANCEL , _param->_nb_execute_unit, _param->_nb_execute_unit_port[it1],1 ); 39 40 DELETE2_SIGNAL( in_EXECUTE_UNIT_OUT_WRITE_RD , _param->_nb_execute_unit, _param->_nb_execute_unit_port[it1],1 ); 40 41 DELETE2_SIGNAL( in_EXECUTE_UNIT_OUT_NUM_REG_RD , _param->_nb_execute_unit, _param->_nb_execute_unit_port[it1],_param->_size_general_register); … … 55 56 // DELETE1_SIGNAL(out_WRITE_UNIT_IN_OPERATION , _param->_nb_write_unit,_param->_size_operation ); 56 57 // DELETE1_SIGNAL(out_WRITE_UNIT_IN_TYPE , _param->_nb_write_unit,_param->_size_type ); 58 DELETE1_SIGNAL(out_WRITE_UNIT_IN_CANCEL , _param->_nb_write_unit,1 ); 57 59 DELETE1_SIGNAL(out_WRITE_UNIT_IN_WRITE_RD , _param->_nb_write_unit,1 ); 58 60 DELETE1_SIGNAL(out_WRITE_UNIT_IN_NUM_REG_RD , _param->_nb_write_unit,_param->_size_general_register); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Execution_unit_to_Write_unit/src/Execution_unit_to_Write_unit_genMealy.cpp
r123 r136 79 79 // PORT_WRITE(out_WRITE_UNIT_IN_OPERATION [dest], PORT_READ(in_EXECUTE_UNIT_OUT_OPERATION [i][j])); 80 80 // PORT_WRITE(out_WRITE_UNIT_IN_TYPE [dest], PORT_READ(in_EXECUTE_UNIT_OUT_TYPE [i][j])); 81 PORT_WRITE(out_WRITE_UNIT_IN_CANCEL [dest], PORT_READ(in_EXECUTE_UNIT_OUT_CANCEL [i][j])); 81 82 PORT_WRITE(out_WRITE_UNIT_IN_WRITE_RD [dest], PORT_READ(in_EXECUTE_UNIT_OUT_WRITE_RD [i][j])); 82 83 PORT_WRITE(out_WRITE_UNIT_IN_NUM_REG_RD [dest], PORT_READ(in_EXECUTE_UNIT_OUT_NUM_REG_RD [i][j])); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Read_unit_to_Execution_unit/include/Read_unit_to_Execution_unit.h
r122 r136 84 84 public : SC_IN (Toperation_t ) *** in_READ_UNIT_OUT_OPERATION ;//[nb_read_unit][nb_read_unit_port] 85 85 public : SC_IN (Ttype_t ) *** in_READ_UNIT_OUT_TYPE ;//[nb_read_unit][nb_read_unit_port] 86 public : SC_IN (Tcontrol_t ) *** in_READ_UNIT_OUT_CANCEL ;//[nb_read_unit][nb_read_unit_port] 86 87 public : SC_IN (Tlsq_ptr_t ) *** in_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE ;//[nb_read_unit][nb_read_unit_port] 87 88 public : SC_IN (Tlsq_ptr_t ) *** in_READ_UNIT_OUT_STORE_QUEUE_PTR_READ ;//[nb_read_unit][nb_read_unit_port] … … 107 108 public : SC_OUT(Toperation_t ) *** out_EXECUTE_UNIT_IN_OPERATION ;//[nb_execute_unit][nb_execute_unit_port] 108 109 public : SC_OUT(Ttype_t ) *** out_EXECUTE_UNIT_IN_TYPE ;//[nb_execute_unit][nb_execute_unit_port] 110 public : SC_OUT(Tcontrol_t ) *** out_EXECUTE_UNIT_IN_CANCEL ;//[nb_execute_unit][nb_execute_unit_port] 109 111 public : SC_OUT(Tlsq_ptr_t ) *** out_EXECUTE_UNIT_IN_STORE_QUEUE_PTR_WRITE;//[nb_execute_unit][nb_execute_unit_port] 110 112 public : SC_OUT(Tlsq_ptr_t ) *** out_EXECUTE_UNIT_IN_STORE_QUEUE_PTR_READ ;//[nb_execute_unit][nb_execute_unit_port] -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Read_unit_to_Execution_unit/src/Read_unit_to_Execution_unit.cpp
r132 r136 36 36 ,_usage (usage) 37 37 { 38 log_printf(FUNC,Read_unit_to_Execution_unit,FUNCTION, "Begin");38 log_printf(FUNC,Read_unit_to_Execution_unit,FUNCTION,_("<%s> Begin"),_name.c_str()); 39 39 40 40 // #if DEBUG_Read_unit_to_Execution_unit == true … … 44 44 // #endif 45 45 46 log_printf(INFO,Read_unit_to_Execution_unit,FUNCTION, "Allocation");46 log_printf(INFO,Read_unit_to_Execution_unit,FUNCTION,_("<%s> Allocation"),_name.c_str()); 47 47 48 48 allocation ( … … 55 55 if (usage_is_set(_usage,USE_STATISTICS)) 56 56 { 57 log_printf(INFO,Read_unit_to_Execution_unit,FUNCTION, "Allocation of statistics");57 log_printf(INFO,Read_unit_to_Execution_unit,FUNCTION,_("<%s> Allocation of statistics"),_name.c_str()); 58 58 59 59 statistics_declaration(param_statistics); … … 65 65 { 66 66 // generate the vhdl 67 log_printf(INFO,Read_unit_to_Execution_unit,FUNCTION, "Generate the vhdl");67 log_printf(INFO,Read_unit_to_Execution_unit,FUNCTION,_("<%s> Generate the vhdl"),_name.c_str()); 68 68 69 69 vhdl(); … … 74 74 if (usage_is_set(_usage,USE_SYSTEMC)) 75 75 { 76 log_printf(INFO,Read_unit_to_Execution_unit,FUNCTION, "Method - transition");76 log_printf(INFO,Read_unit_to_Execution_unit,FUNCTION,_("<%s> Method - transition"),_name.c_str()); 77 77 78 78 SC_METHOD (transition); … … 84 84 # endif 85 85 86 log_printf(INFO,Read_unit_to_Execution_unit,FUNCTION, "Method - genMealy");86 log_printf(INFO,Read_unit_to_Execution_unit,FUNCTION,_("<%s> Method - genMealy"),_name.c_str()); 87 87 88 88 SC_METHOD (genMealy); … … 97 97 << (*(in_READ_UNIT_OUT_OPERATION [i][j])) 98 98 << (*(in_READ_UNIT_OUT_TYPE [i][j])) 99 << (*(in_READ_UNIT_OUT_CANCEL [i][j])) 99 100 << (*(in_READ_UNIT_OUT_HAS_IMMEDIAT [i][j])) 100 101 << (*(in_READ_UNIT_OUT_IMMEDIAT [i][j])) … … 450 451 #endif 451 452 } 452 log_printf(FUNC,Read_unit_to_Execution_unit,FUNCTION, "End");453 log_printf(FUNC,Read_unit_to_Execution_unit,FUNCTION,_("<%s> End"),_name.c_str()); 453 454 }; 454 455 … … 457 458 Read_unit_to_Execution_unit::~Read_unit_to_Execution_unit (void) 458 459 { 459 log_printf(FUNC,Read_unit_to_Execution_unit,FUNCTION, "Begin");460 log_printf(FUNC,Read_unit_to_Execution_unit,FUNCTION,_("<%s> Begin"),_name.c_str()); 460 461 461 462 #ifdef STATISTICS 462 463 if (usage_is_set(_usage,USE_STATISTICS)) 463 464 { 464 log_printf(INFO,Read_unit_to_Execution_unit,FUNCTION, "Generate Statistics file");465 log_printf(INFO,Read_unit_to_Execution_unit,FUNCTION,_("<%s> Generate Statistics file"),_name.c_str()); 465 466 466 467 delete _stat; … … 468 469 #endif 469 470 470 log_printf(INFO,Read_unit_to_Execution_unit,FUNCTION, "Deallocation");471 log_printf(INFO,Read_unit_to_Execution_unit,FUNCTION,_("<%s> Deallocation"),_name.c_str()); 471 472 deallocation (); 472 473 473 log_printf(FUNC,Read_unit_to_Execution_unit,FUNCTION, "End");474 log_printf(FUNC,Read_unit_to_Execution_unit,FUNCTION,_("<%s> End"),_name.c_str()); 474 475 }; 475 476 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Read_unit_to_Execution_unit/src/Read_unit_to_Execution_unit_allocation.cpp
r122 r136 67 67 _ALLOC2_SIGNAL_IN ( in_READ_UNIT_OUT_OPERATION ,"OPERATION" ,Toperation_t ,_param->_size_operation ,_param->_nb_read_unit,_param->_nb_read_unit_port[it1]); 68 68 _ALLOC2_SIGNAL_IN ( in_READ_UNIT_OUT_TYPE ,"TYPE" ,Ttype_t ,_param->_size_type ,_param->_nb_read_unit,_param->_nb_read_unit_port[it1]); 69 _ALLOC2_SIGNAL_IN ( in_READ_UNIT_OUT_CANCEL ,"CANCEL" ,Tcontrol_t ,1 ,_param->_nb_read_unit,_param->_nb_read_unit_port[it1]); 69 70 _ALLOC2_SIGNAL_IN ( in_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE,"STORE_QUEUE_PTR_WRITE",Tlsq_ptr_t ,_param->_size_store_queue_ptr ,_param->_nb_read_unit,_param->_nb_read_unit_port[it1]); 70 71 _ALLOC2_SIGNAL_IN ( in_READ_UNIT_OUT_STORE_QUEUE_PTR_READ ,"STORE_QUEUE_PTR_READ" ,Tlsq_ptr_t ,_param->_size_store_queue_ptr ,_param->_nb_read_unit,_param->_nb_read_unit_port[it1]); … … 95 96 _ALLOC2_SIGNAL_OUT(out_EXECUTE_UNIT_IN_OPERATION ,"OPERATION" ,Toperation_t ,_param->_size_operation , _param->_nb_execute_unit, _param->_nb_execute_unit_port [it1]); 96 97 _ALLOC2_SIGNAL_OUT(out_EXECUTE_UNIT_IN_TYPE ,"TYPE" ,Ttype_t ,_param->_size_type , _param->_nb_execute_unit, _param->_nb_execute_unit_port [it1]); 98 _ALLOC2_SIGNAL_OUT(out_EXECUTE_UNIT_IN_CANCEL ,"CANCEL" ,Tcontrol_t ,1 , _param->_nb_execute_unit, _param->_nb_execute_unit_port [it1]); 97 99 _ALLOC2_SIGNAL_OUT(out_EXECUTE_UNIT_IN_HAS_IMMEDIAT ,"HAS_IMMEDIAT" ,Tcontrol_t ,1 , _param->_nb_execute_unit, _param->_nb_execute_unit_port [it1]); 98 100 _ALLOC2_SIGNAL_OUT(out_EXECUTE_UNIT_IN_DATA_RC ,"DATA_RC" ,Tspecial_data_t ,_param->_size_special_data , _param->_nb_execute_unit, _param->_nb_execute_unit_port [it1]); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Read_unit_to_Execution_unit/src/Read_unit_to_Execution_unit_deallocation.cpp
r128 r136 37 37 DELETE2_SIGNAL( in_READ_UNIT_OUT_OPERATION , _param->_nb_read_unit, _param->_nb_read_unit_port [it1],_param->_size_operation ); 38 38 DELETE2_SIGNAL( in_READ_UNIT_OUT_TYPE , _param->_nb_read_unit, _param->_nb_read_unit_port [it1],_param->_size_type ); 39 DELETE2_SIGNAL( in_READ_UNIT_OUT_CANCEL , _param->_nb_read_unit, _param->_nb_read_unit_port [it1],1 ); 39 40 DELETE2_SIGNAL( in_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE , _param->_nb_read_unit, _param->_nb_read_unit_port [it1],_param->_size_store_queue_ptr ); 40 41 DELETE2_SIGNAL( in_READ_UNIT_OUT_STORE_QUEUE_PTR_READ , _param->_nb_read_unit, _param->_nb_read_unit_port [it1],_param->_size_store_queue_ptr ); … … 59 60 DELETE2_SIGNAL(out_EXECUTE_UNIT_IN_OPERATION , _param->_nb_execute_unit, _param->_nb_execute_unit_port [it1],_param->_size_operation ); 60 61 DELETE2_SIGNAL(out_EXECUTE_UNIT_IN_TYPE , _param->_nb_execute_unit, _param->_nb_execute_unit_port [it1],_param->_size_type ); 62 DELETE2_SIGNAL(out_EXECUTE_UNIT_IN_CANCEL , _param->_nb_execute_unit, _param->_nb_execute_unit_port [it1],1 ); 61 63 DELETE2_SIGNAL(out_EXECUTE_UNIT_IN_HAS_IMMEDIAT , _param->_nb_execute_unit, _param->_nb_execute_unit_port [it1],1 ); 62 64 DELETE2_SIGNAL(out_EXECUTE_UNIT_IN_DATA_RC , _param->_nb_execute_unit, _param->_nb_execute_unit_port [it1],_param->_size_special_data ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Read_unit_to_Execution_unit/src/Read_unit_to_Execution_unit_genMealy.cpp
r123 r136 84 84 PORT_WRITE(out_EXECUTE_UNIT_IN_PACKET_ID [dest][port], PORT_READ(in_READ_UNIT_OUT_PACKET_ID [i][j])); 85 85 PORT_WRITE(out_EXECUTE_UNIT_IN_OPERATION [dest][port], PORT_READ(in_READ_UNIT_OUT_OPERATION [i][j])); 86 PORT_WRITE(out_EXECUTE_UNIT_IN_CANCEL [dest][port], PORT_READ(in_READ_UNIT_OUT_CANCEL [i][j])); 86 87 PORT_WRITE(out_EXECUTE_UNIT_IN_TYPE [dest][port], PORT_READ(in_READ_UNIT_OUT_TYPE [i][j])); 87 88 PORT_WRITE(out_EXECUTE_UNIT_IN_HAS_IMMEDIAT [dest][port], PORT_READ(in_READ_UNIT_OUT_HAS_IMMEDIAT [i][j])); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Parameters.h
r88 r136 34 34 public : uint32_t _nb_gpr_write ; 35 35 public : uint32_t _nb_spr_write ; 36 public : uint32_t * _nb_inst_insert_rob ; 37 public : uint32_t * _nb_inst_retire_rob ; 36 public : uint32_t _nb_inst_issue ; 37 // public : uint32_t * _nb_inst_insert_rob ; 38 // public : uint32_t * _nb_inst_retire_rob ; 38 39 39 40 //public : bool _have_port_ooo_engine_id; … … 47 48 uint32_t nb_gpr_write , 48 49 uint32_t nb_spr_write , 49 uint32_t * nb_inst_insert_rob , 50 uint32_t * nb_inst_retire_rob , 50 uint32_t nb_inst_issue , 51 // uint32_t * nb_inst_insert_rob , 52 // uint32_t * nb_inst_retire_rob , 51 53 bool is_toplevel=false); 52 54 //public : Parameters (Parameters & param) ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Register_unit_Glue.h
r131 r136 118 118 public : SC_OUT(Tspecial_data_t ) *** out_SPR_WRITE_STATUS_DATA ; // type for compatibility with the registerFile 119 119 120 // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 121 public : SC_IN (Tcontrol_t ) *** in_INSERT_ROB_VAL ; 122 public : SC_OUT(Tcontrol_t ) *** out_INSERT_ROB_ACK ; 123 public : SC_IN (Tcontrol_t ) *** in_INSERT_ROB_RD_USE ; 124 public : SC_IN (Tcontrol_t ) *** in_INSERT_ROB_RE_USE ; 125 126 public : SC_OUT(Tcontrol_t ) *** out_INSERT_ROB_GPR_STATUS_VAL ; 127 public : SC_IN (Tcontrol_t ) *** in_INSERT_ROB_GPR_STATUS_ACK ; 128 public : SC_OUT(Tgeneral_data_t ) *** out_INSERT_ROB_GPR_STATUS_DATA ; // type for compatibility with the registerFile 129 130 public : SC_OUT(Tcontrol_t ) *** out_INSERT_ROB_SPR_STATUS_VAL ; 131 public : SC_IN (Tcontrol_t ) *** in_INSERT_ROB_SPR_STATUS_ACK ; 132 public : SC_OUT(Tspecial_data_t ) *** out_INSERT_ROB_SPR_STATUS_DATA ; // type for compatibility with the registerFile 120 // ~~~~~[ Interface "issue" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 121 public : SC_IN (Tcontrol_t ) ** in_ISSUE_VAL ; 122 public : SC_OUT(Tcontrol_t ) ** out_ISSUE_ACK ; 123 public : SC_IN (Tcontext_t ) ** in_ISSUE_OOO_ENGINE_ID ; 124 public : SC_IN (Tcontrol_t ) ** in_ISSUE_RD_USE ; 125 public : SC_IN (Tcontrol_t ) ** in_ISSUE_RE_USE ; 126 127 public : SC_OUT(Tcontrol_t ) *** out_ISSUE_GPR_STATUS_VAL ; 128 public : SC_IN (Tcontrol_t ) *** in_ISSUE_GPR_STATUS_ACK ; 129 public : SC_OUT(Tgeneral_data_t ) *** out_ISSUE_GPR_STATUS_DATA ; // type for compatibility with the registerFile 130 131 public : SC_OUT(Tcontrol_t ) *** out_ISSUE_SPR_STATUS_VAL ; 132 public : SC_IN (Tcontrol_t ) *** in_ISSUE_SPR_STATUS_ACK ; 133 public : SC_OUT(Tspecial_data_t ) *** out_ISSUE_SPR_STATUS_DATA ; // type for compatibility with the registerFile 134 135 // // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 136 // public : SC_IN (Tcontrol_t ) *** in_INSERT_ROB_VAL ; 137 // public : SC_OUT(Tcontrol_t ) *** out_INSERT_ROB_ACK ; 138 // public : SC_IN (Tcontrol_t ) *** in_INSERT_ROB_RD_USE ; 139 // public : SC_IN (Tcontrol_t ) *** in_INSERT_ROB_RE_USE ; 140 141 // public : SC_OUT(Tcontrol_t ) *** out_INSERT_ROB_GPR_STATUS_VAL ; 142 // public : SC_IN (Tcontrol_t ) *** in_INSERT_ROB_GPR_STATUS_ACK ; 143 // public : SC_OUT(Tgeneral_data_t ) *** out_INSERT_ROB_GPR_STATUS_DATA ; // type for compatibility with the registerFile 144 145 // public : SC_OUT(Tcontrol_t ) *** out_INSERT_ROB_SPR_STATUS_VAL ; 146 // public : SC_IN (Tcontrol_t ) *** in_INSERT_ROB_SPR_STATUS_ACK ; 147 // public : SC_OUT(Tspecial_data_t ) *** out_INSERT_ROB_SPR_STATUS_DATA ; // type for compatibility with the registerFile 133 148 134 149 // // ~~~~~[ Interface "retire_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Parameters.cpp
r88 r136 26 26 uint32_t nb_gpr_write , 27 27 uint32_t nb_spr_write , 28 uint32_t * nb_inst_insert_rob , 29 uint32_t * nb_inst_retire_rob , 28 uint32_t nb_inst_issue , 29 // uint32_t * nb_inst_insert_rob , 30 // uint32_t * nb_inst_retire_rob , 30 31 bool is_toplevel ) 31 32 { … … 37 38 _nb_gpr_write = nb_gpr_write ; 38 39 _nb_spr_write = nb_spr_write ; 39 _nb_inst_insert_rob = nb_inst_insert_rob; 40 _nb_inst_retire_rob = nb_inst_retire_rob; 40 _nb_inst_issue = nb_inst_issue ; 41 // _nb_inst_insert_rob = nb_inst_insert_rob; 42 // _nb_inst_retire_rob = nb_inst_retire_rob; 41 43 42 44 test(); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Parameters_print.cpp
r81 r136 34 34 xml.singleton_begin("nb_gpr_write "); xml.attribut("value",toString(_nb_gpr_write )); xml.singleton_end(); 35 35 xml.singleton_begin("nb_spr_write "); xml.attribut("value",toString(_nb_spr_write )); xml.singleton_end(); 36 xml.singleton_begin("nb_inst_issue "); xml.attribut("value",toString(_nb_inst_issue )); xml.singleton_end(); 36 37 37 xml. balise_open("multi_ooo_engine");38 for (uint32_t i=0; i<_nb_ooo_engine; i++)39 {40 xml. balise_open_begin("ooo_engine");41 xml. attribut("id", toString(i));42 xml. balise_open_end();43 xml. singleton_begin("nb_inst_insert_rob "); xml.attribut("value",toString(_nb_inst_insert_rob [i])); xml.singleton_end();44 xml. singleton_begin("nb_inst_retire_rob "); xml.attribut("value",toString(_nb_inst_retire_rob [i])); xml.singleton_end();45 xml. balise_close();46 }47 xml. balise_close();38 // xml. balise_open("multi_ooo_engine"); 39 // for (uint32_t i=0; i<_nb_ooo_engine; i++) 40 // { 41 // xml. balise_open_begin("ooo_engine"); 42 // xml. attribut("id", toString(i)); 43 // xml. balise_open_end(); 44 // xml. singleton_begin("nb_inst_insert_rob "); xml.attribut("value",toString(_nb_inst_insert_rob [i])); xml.singleton_end(); 45 // xml. singleton_begin("nb_inst_retire_rob "); xml.attribut("value",toString(_nb_inst_retire_rob [i])); xml.singleton_end(); 46 // xml. balise_close(); 47 // } 48 // xml. balise_close(); 48 49 xml.balise_close(); 49 50 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue.cpp
r132 r136 36 36 ,_usage (usage) 37 37 { 38 log_printf(FUNC,Register_unit_Glue,FUNCTION, "Begin");38 log_printf(FUNC,Register_unit_Glue,FUNCTION,_("<%s> Begin"),_name.c_str()); 39 39 40 40 // #if DEBUG_Register_unit_Glue == true … … 44 44 // #endif 45 45 46 log_printf(INFO,Register_unit_Glue,FUNCTION, "Allocation");46 log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Allocation"),_name.c_str()); 47 47 allocation (); 48 48 … … 50 50 if (usage_is_set(_usage,USE_STATISTICS)) 51 51 { 52 log_printf(INFO,Register_unit_Glue,FUNCTION, "Allocation of statistics");52 log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Allocation of statistics"),_name.c_str()); 53 53 54 54 // Allocation of statistics … … 61 61 { 62 62 // generate the vhdl 63 log_printf(INFO,Register_unit_Glue,FUNCTION, "Generate the vhdl");63 log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Generate the vhdl"),_name.c_str()); 64 64 65 65 vhdl(); … … 73 73 constant(); 74 74 #else 75 log_printf(INFO,Register_unit_Glue,FUNCTION, "Method - constant");75 log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Method - constant"),_name.c_str()); 76 76 77 77 SC_METHOD (constant); … … 83 83 #endif 84 84 85 log_printf(INFO,Register_unit_Glue,FUNCTION, "Method - transition");85 log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Method - transition"),_name.c_str()); 86 86 87 87 SC_METHOD (transition); … … 93 93 #endif 94 94 95 log_printf(INFO,Register_unit_Glue,FUNCTION, "Method - genMealy_gpr_read");95 log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Method - genMealy_gpr_read"),_name.c_str()); 96 96 97 97 SC_METHOD (genMealy_gpr_read); … … 131 131 #endif 132 132 133 log_printf(INFO,Register_unit_Glue,FUNCTION, "Method - genMealy_gpr_read_status");133 log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Method - genMealy_gpr_read_status"),_name.c_str()); 134 134 135 135 SC_METHOD (genMealy_gpr_read_status); … … 161 161 #endif 162 162 163 log_printf(INFO,Register_unit_Glue,FUNCTION, "Method - genMealy_gpr_read_registerfile");163 log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Method - genMealy_gpr_read_registerfile"),_name.c_str()); 164 164 165 165 SC_METHOD (genMealy_gpr_read_registerfile); … … 191 191 #endif 192 192 193 log_printf(INFO,Register_unit_Glue,FUNCTION, "Method - genMealy_gpr_write");193 log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Method - genMealy_gpr_write"),_name.c_str()); 194 194 195 195 SC_METHOD (genMealy_gpr_write); … … 222 222 #endif 223 223 224 log_printf(INFO,Register_unit_Glue,FUNCTION, "Method - genMealy_gpr_write_status");224 log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Method - genMealy_gpr_write_status"),_name.c_str()); 225 225 226 226 SC_METHOD (genMealy_gpr_write_status); … … 252 252 #endif 253 253 254 log_printf(INFO,Register_unit_Glue,FUNCTION, "Method - genMealy_gpr_write_registerfile");254 log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Method - genMealy_gpr_write_registerfile"),_name.c_str()); 255 255 256 256 SC_METHOD (genMealy_gpr_write_registerfile); … … 282 282 #endif 283 283 284 log_printf(INFO,Register_unit_Glue,FUNCTION, "Method - genMealy_spr_read");284 log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Method - genMealy_spr_read"),_name.c_str()); 285 285 286 286 SC_METHOD (genMealy_spr_read); … … 320 320 #endif 321 321 322 log_printf(INFO,Register_unit_Glue,FUNCTION, "Method - genMealy_spr_read_status");322 log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Method - genMealy_spr_read_status"),_name.c_str()); 323 323 324 324 SC_METHOD (genMealy_spr_read_status); … … 350 350 #endif 351 351 352 log_printf(INFO,Register_unit_Glue,FUNCTION, "Method - genMealy_spr_read_registerfile");352 log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Method - genMealy_spr_read_registerfile"),_name.c_str()); 353 353 354 354 SC_METHOD (genMealy_spr_read_registerfile); … … 380 380 #endif 381 381 382 log_printf(INFO,Register_unit_Glue,FUNCTION, "Method - genMealy_spr_write");382 log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Method - genMealy_spr_write"),_name.c_str()); 383 383 384 384 SC_METHOD (genMealy_spr_write); … … 411 411 #endif 412 412 413 log_printf(INFO,Register_unit_Glue,FUNCTION, "Method - genMealy_spr_write_status");413 log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Method - genMealy_spr_write_status"),_name.c_str()); 414 414 415 415 SC_METHOD (genMealy_spr_write_status); … … 441 441 #endif 442 442 443 log_printf(INFO,Register_unit_Glue,FUNCTION, "Method - genMealy_spr_write_registerfile");443 log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Method - genMealy_spr_write_registerfile"),_name.c_str()); 444 444 445 445 SC_METHOD (genMealy_spr_write_registerfile); … … 471 471 #endif 472 472 473 log_printf(INFO,Register_unit_Glue,FUNCTION, "Method - genMealy_insert");473 log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Method - genMealy_insert"),_name.c_str()); 474 474 475 475 SC_METHOD (genMealy_insert); … … 477 477 // sensitive << (*(in_CLOCK)).neg(); 478 478 sensitive << (*(in_NRESET)); 479 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 480 { 481 uint32_t x=_param->_nb_inst_insert_rob [i]; 482 for (uint32_t j=0; j<x; j++) 483 sensitive << *( in_INSERT_ROB_VAL [i][j]) 484 << *( in_INSERT_ROB_RD_USE [i][j]) 485 << *( in_INSERT_ROB_RE_USE [i][j]) 486 << *( in_INSERT_ROB_GPR_STATUS_ACK [i][j]) 487 << *( in_INSERT_ROB_SPR_STATUS_ACK [i][j]); 488 } 489 #ifdef SYSTEMCASS_SPECIFIC 490 // List dependency information 491 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 492 { 493 uint32_t x=_param->_nb_inst_insert_rob [i]; 494 for (uint32_t j=0; j<x; j++) 495 { 496 (*(out_INSERT_ROB_ACK [i][j]))(*( in_INSERT_ROB_GPR_STATUS_ACK [i][j])); 497 (*(out_INSERT_ROB_ACK [i][j]))(*( in_INSERT_ROB_SPR_STATUS_ACK [i][j])); 498 499 (*(out_INSERT_ROB_GPR_STATUS_VAL [i][j]))(*( in_INSERT_ROB_VAL [i][j])); 500 (*(out_INSERT_ROB_GPR_STATUS_VAL [i][j]))(*( in_INSERT_ROB_RD_USE [i][j])); 501 (*(out_INSERT_ROB_GPR_STATUS_VAL [i][j]))(*( in_INSERT_ROB_SPR_STATUS_ACK [i][j])); 502 503 (*(out_INSERT_ROB_SPR_STATUS_VAL [i][j]))(*( in_INSERT_ROB_VAL [i][j])); 504 (*(out_INSERT_ROB_SPR_STATUS_VAL [i][j]))(*( in_INSERT_ROB_RE_USE [i][j])); 505 (*(out_INSERT_ROB_SPR_STATUS_VAL [i][j]))(*( in_INSERT_ROB_GPR_STATUS_ACK [i][j])); 506 } 507 } 508 #endif 509 510 // log_printf(INFO,Register_unit_Glue,FUNCTION,"Method - genMealy_retire"); 479 for (uint32_t i=0; i<_param->_nb_inst_issue; i++) 480 { 481 sensitive << *( in_ISSUE_VAL [i]) 482 << *( in_ISSUE_RD_USE [i]) 483 << *( in_ISSUE_RE_USE [i]); 484 485 if (_param->_have_port_ooo_engine_id == true) 486 sensitive << *( in_ISSUE_OOO_ENGINE_ID [i]); 487 488 for (uint32_t j=0; j<_param->_nb_ooo_engine; ++j) 489 sensitive << *( in_ISSUE_GPR_STATUS_ACK [j][i]) 490 << *( in_ISSUE_SPR_STATUS_ACK [j][i]); 491 } 492 493 // for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 494 // { 495 // uint32_t x=_param->_nb_inst_insert_rob [i]; 496 // for (uint32_t j=0; j<x; j++) 497 // sensitive << *( in_INSERT_ROB_VAL [i][j]) 498 // << *( in_INSERT_ROB_RD_USE [i][j]) 499 // << *( in_INSERT_ROB_RE_USE [i][j]) 500 // << *( in_INSERT_ROB_GPR_STATUS_ACK [i][j]) 501 // << *( in_INSERT_ROB_SPR_STATUS_ACK [i][j]); 502 // } 503 #ifdef SYSTEMCASS_SPECIFIC 504 // // List dependency information 505 // for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 506 // { 507 // uint32_t x=_param->_nb_inst_insert_rob [i]; 508 // for (uint32_t j=0; j<x; j++) 509 // { 510 // (*(out_INSERT_ROB_ACK [i][j]))(*( in_INSERT_ROB_GPR_STATUS_ACK [i][j])); 511 // (*(out_INSERT_ROB_ACK [i][j]))(*( in_INSERT_ROB_SPR_STATUS_ACK [i][j])); 512 513 // (*(out_INSERT_ROB_GPR_STATUS_VAL [i][j]))(*( in_INSERT_ROB_VAL [i][j])); 514 // (*(out_INSERT_ROB_GPR_STATUS_VAL [i][j]))(*( in_INSERT_ROB_RD_USE [i][j])); 515 // (*(out_INSERT_ROB_GPR_STATUS_VAL [i][j]))(*( in_INSERT_ROB_SPR_STATUS_ACK [i][j])); 516 517 // (*(out_INSERT_ROB_SPR_STATUS_VAL [i][j]))(*( in_INSERT_ROB_VAL [i][j])); 518 // (*(out_INSERT_ROB_SPR_STATUS_VAL [i][j]))(*( in_INSERT_ROB_RE_USE [i][j])); 519 // (*(out_INSERT_ROB_SPR_STATUS_VAL [i][j]))(*( in_INSERT_ROB_GPR_STATUS_ACK [i][j])); 520 // } 521 // } 522 #endif 523 524 // log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Method - genMealy_retire"),_name.c_str()); 511 525 512 526 // SC_METHOD (genMealy_retire); … … 567 581 } 568 582 #endif 569 log_printf(FUNC,Register_unit_Glue,FUNCTION, "End");583 log_printf(FUNC,Register_unit_Glue,FUNCTION,_("<%s> End"),_name.c_str()); 570 584 }; 571 585 … … 574 588 Register_unit_Glue::~Register_unit_Glue (void) 575 589 { 576 log_printf(FUNC,Register_unit_Glue,FUNCTION, "Begin");590 log_printf(FUNC,Register_unit_Glue,FUNCTION,_("<%s> Begin"),_name.c_str()); 577 591 578 592 #ifdef STATISTICS 579 593 if (usage_is_set(_usage,USE_STATISTICS)) 580 594 { 581 log_printf(INFO,Register_unit_Glue,FUNCTION, "Generate Statistics file");595 log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Generate Statistics file"),_name.c_str()); 582 596 583 597 delete _stat; … … 585 599 #endif 586 600 587 log_printf(INFO,Register_unit_Glue,FUNCTION, "Deallocation");601 log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Deallocation"),_name.c_str()); 588 602 deallocation (); 589 603 590 log_printf(FUNC,Register_unit_Glue,FUNCTION, "End");604 log_printf(FUNC,Register_unit_Glue,FUNCTION,_("<%s> End"),_name.c_str()); 591 605 }; 592 606 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_allocation.cpp
r131 r136 177 177 } 178 178 179 // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 180 { 181 ALLOC2_INTERFACE_BEGIN("insert_rob",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 182 183 _ALLOC2_VALACK_IN ( in_INSERT_ROB_VAL ,VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 184 _ALLOC2_VALACK_OUT(out_INSERT_ROB_ACK ,ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 185 _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RD_USE,"rd_use",Tcontrol_t, 1,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 186 _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RE_USE,"re_use",Tcontrol_t, 1,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 187 188 ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 189 } 190 191 { 192 ALLOC2_INTERFACE_BEGIN("insert_rob_gpr_status",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 193 194 _ALLOC2_VALACK_OUT(out_INSERT_ROB_GPR_STATUS_VAL ,VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 195 _ALLOC2_VALACK_IN ( in_INSERT_ROB_GPR_STATUS_ACK ,ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 196 _ALLOC2_SIGNAL_OUT(out_INSERT_ROB_GPR_STATUS_DATA,"data",Tgeneral_data_t,1,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 197 198 ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 199 } 200 201 { 202 ALLOC2_INTERFACE_BEGIN("insert_rob_spr_status",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 203 204 _ALLOC2_VALACK_OUT(out_INSERT_ROB_SPR_STATUS_VAL ,VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 205 _ALLOC2_VALACK_IN ( in_INSERT_ROB_SPR_STATUS_ACK ,ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 206 _ALLOC2_SIGNAL_OUT(out_INSERT_ROB_SPR_STATUS_DATA,"data",Tspecial_data_t,1,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 207 208 ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 209 } 179 // ~~~~~[ Interface "issue" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 180 { 181 ALLOC1_INTERFACE_BEGIN("issue",IN,WEST,_("Interface to update status (insert)"),_param->_nb_inst_issue); 182 183 ALLOC1_VALACK_IN ( in_ISSUE_VAL ,VAL); 184 ALLOC1_VALACK_OUT(out_ISSUE_ACK ,ACK); 185 ALLOC1_SIGNAL_IN ( in_ISSUE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t,_param->_size_ooo_engine_id); 186 ALLOC1_SIGNAL_IN ( in_ISSUE_RD_USE ,"rd_use" ,Tcontrol_t, 1); 187 ALLOC1_SIGNAL_IN ( in_ISSUE_RE_USE ,"re_use" ,Tcontrol_t, 1); 188 189 ALLOC1_INTERFACE_END(_param->_nb_inst_issue); 190 } 191 192 { 193 ALLOC2_INTERFACE_BEGIN("issue_gpr_status",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_issue); 194 195 ALLOC2_VALACK_OUT(out_ISSUE_GPR_STATUS_VAL ,VAL ); 196 ALLOC2_VALACK_IN ( in_ISSUE_GPR_STATUS_ACK ,ACK ); 197 ALLOC2_SIGNAL_OUT(out_ISSUE_GPR_STATUS_DATA,"data",Tgeneral_data_t,1); 198 199 ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_issue); 200 } 201 202 { 203 ALLOC2_INTERFACE_BEGIN("issue_spr_status",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine, _param->_nb_inst_issue); 204 205 ALLOC2_VALACK_OUT(out_ISSUE_SPR_STATUS_VAL ,VAL ); 206 ALLOC2_VALACK_IN ( in_ISSUE_SPR_STATUS_ACK ,ACK ); 207 ALLOC2_SIGNAL_OUT(out_ISSUE_SPR_STATUS_DATA,"data",Tspecial_data_t,1); 208 209 ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_issue); 210 } 211 212 // // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 213 // { 214 // ALLOC2_INTERFACE_BEGIN("insert_rob",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 215 216 // _ALLOC2_VALACK_IN ( in_INSERT_ROB_VAL ,VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 217 // _ALLOC2_VALACK_OUT(out_INSERT_ROB_ACK ,ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 218 // _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RD_USE,"rd_use",Tcontrol_t, 1,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 219 // _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RE_USE,"re_use",Tcontrol_t, 1,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 220 221 // ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 222 // } 223 224 // { 225 // ALLOC2_INTERFACE_BEGIN("insert_rob_gpr_status",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 226 227 // _ALLOC2_VALACK_OUT(out_INSERT_ROB_GPR_STATUS_VAL ,VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 228 // _ALLOC2_VALACK_IN ( in_INSERT_ROB_GPR_STATUS_ACK ,ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 229 // _ALLOC2_SIGNAL_OUT(out_INSERT_ROB_GPR_STATUS_DATA,"data",Tgeneral_data_t,1,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 230 231 // ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 232 // } 233 234 // { 235 // ALLOC2_INTERFACE_BEGIN("insert_rob_spr_status",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 236 237 // _ALLOC2_VALACK_OUT(out_INSERT_ROB_SPR_STATUS_VAL ,VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 238 // _ALLOC2_VALACK_IN ( in_INSERT_ROB_SPR_STATUS_ACK ,ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 239 // _ALLOC2_SIGNAL_OUT(out_INSERT_ROB_SPR_STATUS_DATA,"data",Tspecial_data_t,1,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 240 241 // ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 242 // } 210 243 211 244 // // ~~~~~[ Interface "retire_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_constant.cpp
r131 r136 33 33 PORT_WRITE(out_SPR_WRITE_STATUS_DATA [i][j],1); 34 34 35 for (uint32_t j=0; j<_param->_nb_inst_insert_rob[i]; ++j)36 {37 PORT_WRITE(out_INSERT_ROB_GPR_STATUS_DATA [i][j],0);38 PORT_WRITE(out_INSERT_ROB_SPR_STATUS_DATA [i][j],0);39 }35 // for (uint32_t j=0; j<_param->_nb_inst_insert_rob[i]; ++j) 36 // { 37 // PORT_WRITE(out_INSERT_ROB_GPR_STATUS_DATA [i][j],0); 38 // PORT_WRITE(out_INSERT_ROB_SPR_STATUS_DATA [i][j],0); 39 // } 40 40 } 41 42 for (uint32_t i=0; i<_param->_nb_ooo_engine; ++i) 43 for (uint32_t j=0; j<_param->_nb_inst_issue; ++j) 44 { 45 PORT_WRITE(out_ISSUE_GPR_STATUS_DATA [i][j],0); 46 PORT_WRITE(out_ISSUE_SPR_STATUS_DATA [i][j],0); 47 } 41 48 42 49 log_end(Register_unit_Glue,FUNCTION); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_deallocation.cpp
r128 r136 84 84 DELETE2_SIGNAL(out_SPR_WRITE_STATUS_DATA ,_param->_nb_ooo_engine,_param->_nb_spr_write,1 ); 85 85 86 DELETE2_SIGNAL( in_INSERT_ROB_VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 87 DELETE2_SIGNAL(out_INSERT_ROB_ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 88 DELETE2_SIGNAL( in_INSERT_ROB_RD_USE ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 89 DELETE2_SIGNAL( in_INSERT_ROB_RE_USE ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 86 DELETE1_SIGNAL( in_ISSUE_VAL ,_param->_nb_inst_issue,1); 87 DELETE1_SIGNAL(out_ISSUE_ACK ,_param->_nb_inst_issue,1); 88 DELETE1_SIGNAL( in_ISSUE_OOO_ENGINE_ID ,_param->_nb_inst_issue,_param->_size_ooo_engine_id); 89 DELETE1_SIGNAL( in_ISSUE_RD_USE ,_param->_nb_inst_issue,1); 90 DELETE1_SIGNAL( in_ISSUE_RE_USE ,_param->_nb_inst_issue,1); 90 91 91 DELETE2_SIGNAL(out_I NSERT_ROB_GPR_STATUS_VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1);92 DELETE2_SIGNAL( in_I NSERT_ROB_GPR_STATUS_ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1);93 DELETE2_SIGNAL(out_I NSERT_ROB_GPR_STATUS_DATA,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1);92 DELETE2_SIGNAL(out_ISSUE_GPR_STATUS_VAL ,_param->_nb_ooo_engine,_param->_nb_inst_issue,1); 93 DELETE2_SIGNAL( in_ISSUE_GPR_STATUS_ACK ,_param->_nb_ooo_engine,_param->_nb_inst_issue,1); 94 DELETE2_SIGNAL(out_ISSUE_GPR_STATUS_DATA ,_param->_nb_ooo_engine,_param->_nb_inst_issue,1); 94 95 95 DELETE2_SIGNAL(out_INSERT_ROB_SPR_STATUS_VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 96 DELETE2_SIGNAL( in_INSERT_ROB_SPR_STATUS_ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 97 DELETE2_SIGNAL(out_INSERT_ROB_SPR_STATUS_DATA,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 96 DELETE2_SIGNAL(out_ISSUE_SPR_STATUS_VAL ,_param->_nb_ooo_engine,_param->_nb_inst_issue,1); 97 DELETE2_SIGNAL( in_ISSUE_SPR_STATUS_ACK ,_param->_nb_ooo_engine,_param->_nb_inst_issue,1); 98 DELETE2_SIGNAL(out_ISSUE_SPR_STATUS_DATA ,_param->_nb_ooo_engine,_param->_nb_inst_issue,1); 99 100 // DELETE2_SIGNAL( in_INSERT_ROB_VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 101 // DELETE2_SIGNAL(out_INSERT_ROB_ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 102 // DELETE2_SIGNAL( in_INSERT_ROB_RD_USE ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 103 // DELETE2_SIGNAL( in_INSERT_ROB_RE_USE ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 104 105 // DELETE2_SIGNAL(out_INSERT_ROB_GPR_STATUS_VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 106 // DELETE2_SIGNAL( in_INSERT_ROB_GPR_STATUS_ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 107 // DELETE2_SIGNAL(out_INSERT_ROB_GPR_STATUS_DATA,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 108 109 // DELETE2_SIGNAL(out_INSERT_ROB_SPR_STATUS_VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 110 // DELETE2_SIGNAL( in_INSERT_ROB_SPR_STATUS_ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 111 // DELETE2_SIGNAL(out_INSERT_ROB_SPR_STATUS_DATA,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 98 112 } 99 113 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_genMealy_insert.cpp
r128 r136 28 28 if (PORT_READ(in_NRESET)) 29 29 { 30 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 31 for (uint32_t j=0; j<_param->_nb_inst_insert_rob [i]; j++) 32 { 33 Tcontrol_t val = PORT_READ(in_INSERT_ROB_VAL [i][j]); 34 Tcontrol_t gpr_use = PORT_READ(in_INSERT_ROB_RD_USE [i][j]); 35 Tcontrol_t spr_use = PORT_READ(in_INSERT_ROB_RE_USE [i][j]); 36 Tcontrol_t gpr_status_ack = PORT_READ(in_INSERT_ROB_GPR_STATUS_ACK [i][j]); 37 Tcontrol_t spr_status_ack = PORT_READ(in_INSERT_ROB_SPR_STATUS_ACK [i][j]); 38 39 Tcontrol_t ack = (gpr_status_ack and 40 spr_status_ack); 41 Tcontrol_t gpr_status_val = (val and 42 gpr_use and 43 spr_status_ack); 44 Tcontrol_t spr_status_val = (val and 45 spr_use and 46 gpr_status_ack); 30 for (uint32_t i=0; i<_param->_nb_inst_issue; i++) 31 { 32 Tcontrol_t val = PORT_READ(in_ISSUE_VAL [i]); 33 Tcontrol_t gpr_use = PORT_READ(in_ISSUE_RD_USE [i]); 34 Tcontrol_t spr_use = PORT_READ(in_ISSUE_RE_USE [i]); 35 Tcontext_t ooo_engine_id = (_param->_have_port_ooo_engine_id)?PORT_READ(in_ISSUE_VAL [i]):0; 36 Tcontrol_t gpr_status_ack = PORT_READ(in_ISSUE_GPR_STATUS_ACK [ooo_engine_id][i]); 37 Tcontrol_t spr_status_ack = PORT_READ(in_ISSUE_SPR_STATUS_ACK [ooo_engine_id][i]); 47 38 48 log_printf(TRACE,Register_unit_Glue,FUNCTION," * insert_rob [%d][%d]",i,j); 49 log_printf(TRACE,Register_unit_Glue,FUNCTION," * val (r) : %d",val ); 50 log_printf(TRACE,Register_unit_Glue,FUNCTION," * ack (w) : %d",ack ); 51 log_printf(TRACE,Register_unit_Glue,FUNCTION," * gpr_use (rd) (r) : %d",gpr_use ); 52 log_printf(TRACE,Register_unit_Glue,FUNCTION," * gpr_status_val (w) : %d",gpr_status_val); 53 log_printf(TRACE,Register_unit_Glue,FUNCTION," * gpr_status_ack (r) : %d",gpr_status_ack); 54 log_printf(TRACE,Register_unit_Glue,FUNCTION," * spr_use (re) (r) : %d",spr_use ); 55 log_printf(TRACE,Register_unit_Glue,FUNCTION," * spr_status_val (w) : %d",spr_status_val); 56 log_printf(TRACE,Register_unit_Glue,FUNCTION," * spr_status_ack (r) : %d",spr_status_ack); 39 Tcontrol_t ack = (gpr_status_ack and 40 spr_status_ack); 41 Tcontrol_t gpr_status_val = (val and 42 gpr_use and 43 spr_status_ack); 44 Tcontrol_t spr_status_val = (val and 45 spr_use and 46 gpr_status_ack); 47 48 log_printf(TRACE,Register_unit_Glue,FUNCTION," * issue [%d]",i); 49 log_printf(TRACE,Register_unit_Glue,FUNCTION," * ooo_engine_id (w) : %d",ooo_engine_id ); 50 log_printf(TRACE,Register_unit_Glue,FUNCTION," * val (r) : %d",val ); 51 log_printf(TRACE,Register_unit_Glue,FUNCTION," * ack (w) : %d",ack ); 52 log_printf(TRACE,Register_unit_Glue,FUNCTION," * gpr_use (rd) (r) : %d",gpr_use ); 53 log_printf(TRACE,Register_unit_Glue,FUNCTION," * gpr_status_val (w) : %d",gpr_status_val); 54 log_printf(TRACE,Register_unit_Glue,FUNCTION," * gpr_status_ack (r) : %d",gpr_status_ack); 55 log_printf(TRACE,Register_unit_Glue,FUNCTION," * spr_use (re) (r) : %d",spr_use ); 56 log_printf(TRACE,Register_unit_Glue,FUNCTION," * spr_status_val (w) : %d",spr_status_val); 57 log_printf(TRACE,Register_unit_Glue,FUNCTION," * spr_status_ack (r) : %d",spr_status_ack); 58 59 PORT_WRITE(out_ISSUE_ACK [i], ack ); 60 PORT_WRITE(out_ISSUE_GPR_STATUS_VAL [ooo_engine_id][i], gpr_status_val); 61 PORT_WRITE(out_ISSUE_SPR_STATUS_VAL [ooo_engine_id][i], spr_status_val); 57 62 58 PORT_WRITE(out_INSERT_ROB_ACK [i][j], ack ); 59 PORT_WRITE(out_INSERT_ROB_GPR_STATUS_VAL [i][j], gpr_status_val); 60 PORT_WRITE(out_INSERT_ROB_SPR_STATUS_VAL [i][j], spr_status_val); 63 for (uint32_t j=0; j<_param->_nb_ooo_engine; ++j) 64 if (j!=ooo_engine_id) 65 { 66 PORT_WRITE(out_ISSUE_GPR_STATUS_VAL [j][i], 0); 67 PORT_WRITE(out_ISSUE_SPR_STATUS_VAL [j][i], 0); 68 } 61 69 } 62 70 } 63 71 else 64 72 { 65 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 66 for (uint32_t j=0; j<_param->_nb_inst_insert_rob [i]; j++) 67 { 68 PORT_WRITE(out_INSERT_ROB_ACK [i][j], 0); 69 PORT_WRITE(out_INSERT_ROB_GPR_STATUS_VAL [i][j], 0); 70 PORT_WRITE(out_INSERT_ROB_SPR_STATUS_VAL [i][j], 0); 71 } 73 for (uint32_t i=0; i<_param->_nb_inst_issue; i++) 74 { 75 PORT_WRITE(out_ISSUE_ACK [i], 0); 76 for (uint32_t j=0; j<_param->_nb_ooo_engine; j++) 77 { 78 PORT_WRITE(out_ISSUE_GPR_STATUS_VAL [j][i], 0); 79 PORT_WRITE(out_ISSUE_SPR_STATUS_VAL [j][i], 0); 80 } 81 } 72 82 } 83 84 // if (PORT_READ(in_NRESET)) 85 // { 86 // for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 87 // for (uint32_t j=0; j<_param->_nb_inst_insert_rob [i]; j++) 88 // { 89 // Tcontrol_t val = PORT_READ(in_INSERT_ROB_VAL [i][j]); 90 // Tcontrol_t gpr_use = PORT_READ(in_INSERT_ROB_RD_USE [i][j]); 91 // Tcontrol_t spr_use = PORT_READ(in_INSERT_ROB_RE_USE [i][j]); 92 // Tcontrol_t gpr_status_ack = PORT_READ(in_INSERT_ROB_GPR_STATUS_ACK [i][j]); 93 // Tcontrol_t spr_status_ack = PORT_READ(in_INSERT_ROB_SPR_STATUS_ACK [i][j]); 94 95 // Tcontrol_t ack = (gpr_status_ack and 96 // spr_status_ack); 97 // Tcontrol_t gpr_status_val = (val and 98 // gpr_use and 99 // spr_status_ack); 100 // Tcontrol_t spr_status_val = (val and 101 // spr_use and 102 // gpr_status_ack); 103 104 // log_printf(TRACE,Register_unit_Glue,FUNCTION," * insert_rob [%d][%d]",i,j); 105 // log_printf(TRACE,Register_unit_Glue,FUNCTION," * val (r) : %d",val ); 106 // log_printf(TRACE,Register_unit_Glue,FUNCTION," * ack (w) : %d",ack ); 107 // log_printf(TRACE,Register_unit_Glue,FUNCTION," * gpr_use (rd) (r) : %d",gpr_use ); 108 // log_printf(TRACE,Register_unit_Glue,FUNCTION," * gpr_status_val (w) : %d",gpr_status_val); 109 // log_printf(TRACE,Register_unit_Glue,FUNCTION," * gpr_status_ack (r) : %d",gpr_status_ack); 110 // log_printf(TRACE,Register_unit_Glue,FUNCTION," * spr_use (re) (r) : %d",spr_use ); 111 // log_printf(TRACE,Register_unit_Glue,FUNCTION," * spr_status_val (w) : %d",spr_status_val); 112 // log_printf(TRACE,Register_unit_Glue,FUNCTION," * spr_status_ack (r) : %d",spr_status_ack); 113 114 // PORT_WRITE(out_INSERT_ROB_ACK [i][j], ack ); 115 // PORT_WRITE(out_INSERT_ROB_GPR_STATUS_VAL [i][j], gpr_status_val); 116 // PORT_WRITE(out_INSERT_ROB_SPR_STATUS_VAL [i][j], spr_status_val); 117 // } 118 // } 119 // else 120 // { 121 // for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 122 // for (uint32_t j=0; j<_param->_nb_inst_insert_rob [i]; j++) 123 // { 124 // PORT_WRITE(out_INSERT_ROB_ACK [i][j], 0); 125 // PORT_WRITE(out_INSERT_ROB_GPR_STATUS_VAL [i][j], 0); 126 // PORT_WRITE(out_INSERT_ROB_SPR_STATUS_VAL [i][j], 0); 127 // } 128 // } 73 129 74 130 log_end(Register_unit_Glue,FUNCTION); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_vhdl_body.cpp
r88 r136 245 245 246 246 //----------------------------------- 247 // I NSERT_ROB247 // ISSUE 248 248 //----------------------------------- 249 249 250 250 vhdl->set_body (""); 251 251 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 252 { 253 uint32_t x=_param->_nb_inst_insert_rob [i]; 254 for (uint32_t j=0; j<x; j++) 255 { 256 vhdl->set_body ("out_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_ACK <="); 257 vhdl->set_body ("\tin_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK and"); 258 vhdl->set_body ("\tin_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK;"); 259 260 vhdl->set_body ("out_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL <="); 261 vhdl->set_body ("\tin_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_VAL and"); 262 vhdl->set_body ("\tin_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_USE and"); 263 vhdl->set_body ("\tin_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK;"); 264 265 vhdl->set_body ("out_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL <="); 266 vhdl->set_body ("\tin_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_VAL and"); 267 vhdl->set_body ("\tin_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_USE and"); 268 vhdl->set_body ("\tin_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK;"); 269 } 270 } 271 272 //----------------------------------- 273 // RETIRE_ROB 274 //----------------------------------- 275 vhdl->set_body (""); 276 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 277 { 278 uint32_t x=_param->_nb_inst_retire_rob [i]; 279 for (uint32_t j=0; j<x; j++) 280 { 281 vhdl->set_body ("out_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_ACK <="); 282 vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK and"); 283 vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK and"); 284 vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK and"); 285 vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK;"); 286 287 vhdl->set_body ("out_RETIRE_ROB_GPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_VAL <="); 288 vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_VAL and"); 289 vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RD_OLD_USE and"); 290 vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK and"); 291 vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK and"); 292 vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK;"); 293 294 vhdl->set_body ("out_RETIRE_ROB_GPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_VAL <="); 295 vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_VAL and"); 296 vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RD_NEW_USE and"); 297 vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK and"); 298 vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK and"); 299 vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK;"); 300 301 vhdl->set_body ("out_RETIRE_ROB_SPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_VAL <="); 302 vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_VAL and"); 303 vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RE_OLD_USE and"); 304 vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK and"); 305 vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK and"); 306 vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK;"); 307 308 vhdl->set_body ("out_RETIRE_ROB_SPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_VAL <="); 309 vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_VAL and"); 310 vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RE_NEW_USE and"); 311 vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK and"); 312 vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK and"); 313 vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK;"); 314 } 315 } 252 for (uint32_t j=0; j<_param->_nb_inst_issue; j++) 253 { 254 vhdl->set_body ("out_ISSUE_"+toString(j)+"_ACK <="); 255 vhdl->set_body ("\tin_ISSUE_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK and"); 256 vhdl->set_body ("\tin_ISSUE_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK"); 257 if (_param->_have_port_ooo_engine_id) 258 { 259 vhdl->set_body ("when out_ISSUE_"+toString(j)+"_OOO_ENGINE_ID = "+std_logic_conv(_param->_size_ooo_engine_id,i)); 260 vhdl->set_body ("else '0'"); 261 } 262 vhdl->set_body (";"); 263 264 265 vhdl->set_body ("out_ISSUE_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL <="); 266 vhdl->set_body ("\tin_ISSUE_"+toString(j)+"_VAL and"); 267 vhdl->set_body ("\tin_ISSUE_"+toString(j)+"_RD_USE and"); 268 vhdl->set_body ("\tin_ISSUE_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK"); 269 if (_param->_have_port_ooo_engine_id) 270 { 271 vhdl->set_body ("when out_ISSUE_"+toString(j)+"_OOO_ENGINE_ID = "+std_logic_conv(_param->_size_ooo_engine_id,i)); 272 vhdl->set_body ("else '0'"); 273 } 274 vhdl->set_body (";"); 275 276 vhdl->set_body ("out_ISSUE_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL <="); 277 vhdl->set_body ("\tin_ISSUE_"+toString(j)+"_VAL and"); 278 vhdl->set_body ("\tin_ISSUE_"+toString(j)+"_RE_USE and"); 279 vhdl->set_body ("\tin_ISSUE_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK"); 280 if (_param->_have_port_ooo_engine_id) 281 { 282 vhdl->set_body ("when out_ISSUE_"+toString(j)+"_OOO_ENGINE_ID = "+std_logic_conv(_param->_size_ooo_engine_id,i)); 283 vhdl->set_body ("else '0'"); 284 } 285 vhdl->set_body (";"); 286 } 287 288 // //----------------------------------- 289 // // INSERT_ROB 290 // //----------------------------------- 291 292 // vhdl->set_body (""); 293 // for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 294 // { 295 // uint32_t x=_param->_nb_inst_insert_rob [i]; 296 // for (uint32_t j=0; j<x; j++) 297 // { 298 // vhdl->set_body ("out_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_ACK <="); 299 // vhdl->set_body ("\tin_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK and"); 300 // vhdl->set_body ("\tin_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK;"); 301 302 // vhdl->set_body ("out_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL <="); 303 // vhdl->set_body ("\tin_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_VAL and"); 304 // vhdl->set_body ("\tin_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_USE and"); 305 // vhdl->set_body ("\tin_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK;"); 306 307 // vhdl->set_body ("out_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL <="); 308 // vhdl->set_body ("\tin_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_VAL and"); 309 // vhdl->set_body ("\tin_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_USE and"); 310 // vhdl->set_body ("\tin_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK;"); 311 // } 312 // } 313 314 // //----------------------------------- 315 // // RETIRE_ROB 316 // //----------------------------------- 317 // vhdl->set_body (""); 318 // for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 319 // { 320 // uint32_t x=_param->_nb_inst_retire_rob [i]; 321 // for (uint32_t j=0; j<x; j++) 322 // { 323 // vhdl->set_body ("out_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_ACK <="); 324 // vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK and"); 325 // vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK and"); 326 // vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK and"); 327 // vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK;"); 328 329 // vhdl->set_body ("out_RETIRE_ROB_GPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_VAL <="); 330 // vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_VAL and"); 331 // vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RD_OLD_USE and"); 332 // vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK and"); 333 // vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK and"); 334 // vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK;"); 335 336 // vhdl->set_body ("out_RETIRE_ROB_GPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_VAL <="); 337 // vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_VAL and"); 338 // vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RD_NEW_USE and"); 339 // vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK and"); 340 // vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK and"); 341 // vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK;"); 342 343 // vhdl->set_body ("out_RETIRE_ROB_SPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_VAL <="); 344 // vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_VAL and"); 345 // vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RE_OLD_USE and"); 346 // vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK and"); 347 // vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK and"); 348 // vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK;"); 349 350 // vhdl->set_body ("out_RETIRE_ROB_SPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_VAL <="); 351 // vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_VAL and"); 352 // vhdl->set_body ("\tin_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RE_NEW_USE and"); 353 // vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK and"); 354 // vhdl->set_body ("\tin_RETIRE_ROB_GPR_STATUS_NEW_"+toString(i)+"_"+toString(j)+"_ACK and"); 355 // vhdl->set_body ("\tin_RETIRE_ROB_SPR_STATUS_OLD_"+toString(i)+"_"+toString(j)+"_ACK;"); 356 // } 357 // } 316 358 317 359 log_printf(FUNC,Register_unit_Glue,FUNCTION,"End"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Parameters.h
r88 r136 40 40 public : uint32_t * _nb_general_register ; 41 41 public : uint32_t * _nb_special_register ; 42 public : uint32_t * _nb_inst_insert_rob ; 43 public : uint32_t * _nb_inst_retire_rob ; 42 public : uint32_t _nb_inst_issue ; 43 // public : uint32_t * _nb_inst_insert_rob ; 44 // public : uint32_t * _nb_inst_retire_rob ; 44 45 45 46 //public : bool _have_port_ooo_engine_id ; … … 73 74 uint32_t * nb_general_register , 74 75 uint32_t * nb_special_register , 75 uint32_t * nb_inst_insert_rob , 76 uint32_t * nb_inst_retire_rob , 76 uint32_t nb_inst_issue , 77 // uint32_t * nb_inst_insert_rob , 78 // uint32_t * nb_inst_retire_rob , 77 79 bool is_toplevel=false); 78 80 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Register_unit.h
r131 r136 93 93 public : SC_IN (Tspecial_address_t) ** in_SPR_WRITE_NUM_REG ; 94 94 public : SC_IN (Tspecial_data_t ) ** in_SPR_WRITE_DATA ; 95 96 // ~~~~~[ Interface "issue" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 97 public : SC_IN (Tcontrol_t ) ** in_ISSUE_VAL ; 98 public : SC_OUT(Tcontrol_t ) ** out_ISSUE_ACK ; 99 public : SC_IN (Tcontext_t ) ** in_ISSUE_OOO_ENGINE_ID ; 100 public : SC_IN (Tcontrol_t ) ** in_ISSUE_RD_USE ; 101 public : SC_IN (Tgeneral_address_t) ** in_ISSUE_RD_NUM_REG ; // use=1 : status[num_reg]<- 0 102 public : SC_IN (Tcontrol_t ) ** in_ISSUE_RE_USE ; 103 public : SC_IN (Tspecial_address_t) ** in_ISSUE_RE_NUM_REG ; 95 104 96 // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~97 public : SC_IN (Tcontrol_t ) *** in_INSERT_ROB_VAL ;98 public : SC_OUT(Tcontrol_t ) *** out_INSERT_ROB_ACK ;99 public : SC_IN (Tcontrol_t ) *** in_INSERT_ROB_RD_USE ;100 public : SC_IN (Tgeneral_address_t) *** in_INSERT_ROB_RD_NUM_REG ; // use=1 : status[num_reg]<- 0101 public : SC_IN (Tcontrol_t ) *** in_INSERT_ROB_RE_USE ;102 public : SC_IN (Tspecial_address_t) *** in_INSERT_ROB_RE_NUM_REG ;105 // // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 // public : SC_IN (Tcontrol_t ) *** in_INSERT_ROB_VAL ; 107 // public : SC_OUT(Tcontrol_t ) *** out_INSERT_ROB_ACK ; 108 // public : SC_IN (Tcontrol_t ) *** in_INSERT_ROB_RD_USE ; 109 // public : SC_IN (Tgeneral_address_t) *** in_INSERT_ROB_RD_NUM_REG ; // use=1 : status[num_reg]<- 0 110 // public : SC_IN (Tcontrol_t ) *** in_INSERT_ROB_RE_USE ; 111 // public : SC_IN (Tspecial_address_t) *** in_INSERT_ROB_RE_NUM_REG ; 103 112 104 113 // // ~~~~~[ Interface "retire_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Parameters.cpp
r124 r136 33 33 uint32_t * nb_general_register , 34 34 uint32_t * nb_special_register , 35 uint32_t * nb_inst_insert_rob , 36 uint32_t * nb_inst_retire_rob , 35 uint32_t nb_inst_issue , 36 // uint32_t * nb_inst_insert_rob , 37 // uint32_t * nb_inst_retire_rob , 37 38 bool is_toplevel ) 38 39 { … … 53 54 _nb_general_register = nb_general_register ; 54 55 _nb_special_register = nb_special_register ; 55 _nb_inst_insert_rob = nb_inst_insert_rob ; 56 _nb_inst_retire_rob = nb_inst_retire_rob ; 56 _nb_inst_issue = nb_inst_issue ; 57 // _nb_inst_insert_rob = nb_inst_insert_rob ; 58 // _nb_inst_retire_rob = nb_inst_retire_rob ; 57 59 58 60 _size_gpr_address = log2(nb_general_register [0]); … … 101 103 (_nb_gpr_read , 102 104 // _nb_gpr_write+_nb_inst_insert_rob[i]+2*_nb_inst_retire_rob[i], 103 _nb_gpr_write+_nb_inst_insert_rob[i], 105 // _nb_gpr_write+_nb_inst_insert_rob[i], 106 _nb_gpr_write+_nb_inst_issue, 104 107 0, 105 108 nb_general_register[i], … … 122 125 (_nb_spr_read , 123 126 // _nb_spr_write+_nb_inst_insert_rob[i]+2*_nb_inst_retire_rob[i], 124 _nb_spr_write+_nb_inst_insert_rob[i], 127 // _nb_spr_write+_nb_inst_insert_rob[i], 128 _nb_spr_write+_nb_inst_issue, 125 129 0, 126 130 nb_special_register[i], … … 134 138 } 135 139 136 _param_glue = new morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::register_unit_glue::Parameters (_nb_ooo_engine , 137 size_general_data , 138 size_special_data , 139 _nb_gpr_read , 140 _nb_spr_read , 141 _nb_gpr_write , 142 _nb_spr_write , 143 _nb_inst_insert_rob , 144 _nb_inst_retire_rob ); 140 _param_glue = new morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::register_unit_glue::Parameters 141 (_nb_ooo_engine , 142 size_general_data , 143 size_special_data , 144 _nb_gpr_read , 145 _nb_spr_read , 146 _nb_gpr_write , 147 _nb_spr_write , 148 _nb_inst_issue 149 // _nb_inst_insert_rob , 150 // _nb_inst_retire_rob 151 ); 145 152 146 153 test(); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Parameters_print.cpp
r81 r136 39 39 xml. singleton_begin("nb_spr_port_read_by_bank "); xml.attribut("value",toString(_nb_spr_port_read_by_bank )); xml.singleton_end(); 40 40 xml. singleton_begin("nb_spr_port_write_by_bank"); xml.attribut("value",toString(_nb_spr_port_write_by_bank)); xml.singleton_end(); 41 xml. singleton_begin("nb_inst_issue "); xml.attribut("value",toString(_nb_inst_issue )); xml.singleton_end(); 41 42 42 xml. balise_open("multi_ooo_engine");43 for (uint32_t i=0; i<_nb_ooo_engine; i++)44 {45 xml. balise_open_begin("ooo_engine");46 xml. attribut("id", toString(i));47 xml. balise_open_end();48 xml. singleton_begin("nb_general_register"); xml.attribut("value",toString(_nb_general_register [i])); xml.singleton_end();49 xml. singleton_begin("nb_special_register"); xml.attribut("value",toString(_nb_special_register [i])); xml.singleton_end();50 xml. singleton_begin("nb_inst_insert_rob "); xml.attribut("value",toString(_nb_inst_insert_rob [i])); xml.singleton_end();51 xml. singleton_begin("nb_inst_retire_rob "); xml.attribut("value",toString(_nb_inst_retire_rob [i])); xml.singleton_end();52 xml. balise_close();53 }54 xml. balise_close();43 // xml. balise_open("multi_ooo_engine"); 44 // for (uint32_t i=0; i<_nb_ooo_engine; i++) 45 // { 46 // xml. balise_open_begin("ooo_engine"); 47 // xml. attribut("id", toString(i)); 48 // xml. balise_open_end(); 49 // xml. singleton_begin("nb_general_register"); xml.attribut("value",toString(_nb_general_register [i])); xml.singleton_end(); 50 // xml. singleton_begin("nb_special_register"); xml.attribut("value",toString(_nb_special_register [i])); xml.singleton_end(); 51 // xml. singleton_begin("nb_inst_insert_rob "); xml.attribut("value",toString(_nb_inst_insert_rob [i])); xml.singleton_end(); 52 // xml. singleton_begin("nb_inst_retire_rob "); xml.attribut("value",toString(_nb_inst_retire_rob [i])); xml.singleton_end(); 53 // xml. balise_close(); 54 // } 55 // xml. balise_close(); 55 56 56 57 // xml. text (_param_glue->print(depth+1)); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit.cpp
r131 r136 35 35 ,_usage (usage) 36 36 { 37 log_printf(FUNC,Register_unit,FUNCTION, "Begin");37 log_printf(FUNC,Register_unit,FUNCTION,_("<%s> Begin"),_name.c_str()); 38 38 39 39 // #if DEBUG_Register_unit == true … … 43 43 // #endif 44 44 45 log_printf(INFO,Register_unit,FUNCTION, "Allocation");45 log_printf(INFO,Register_unit,FUNCTION,_("<%s> Allocation"),_name.c_str()); 46 46 allocation ( 47 47 #ifdef STATISTICS … … 63 63 { 64 64 // generate the vhdl 65 log_printf(INFO,Register_unit,FUNCTION, "Generate the vhdl");65 log_printf(INFO,Register_unit,FUNCTION,_("<%s> Generate the vhdl"),_name.c_str()); 66 66 67 67 vhdl(); … … 73 73 { 74 74 //#if defined(STATISTICS) or defined(VHDL_TESTBENCH) 75 log_printf(INFO,Register_unit,FUNCTION, "Method - transition");75 log_printf(INFO,Register_unit,FUNCTION,_("<%s> Method - transition"),_name.c_str()); 76 76 77 77 SC_METHOD (transition); … … 85 85 } 86 86 #endif 87 log_printf(FUNC,Register_unit,FUNCTION, "End");87 log_printf(FUNC,Register_unit,FUNCTION,_("<%s> End"),_name.c_str()); 88 88 }; 89 89 … … 92 92 Register_unit::~Register_unit (void) 93 93 { 94 log_printf(FUNC,Register_unit,FUNCTION, "Begin");94 log_printf(FUNC,Register_unit,FUNCTION,_("<%s> Begin"),_name.c_str()); 95 95 96 96 #ifdef STATISTICS 97 97 if (usage_is_set(_usage,USE_STATISTICS)) 98 98 { 99 log_printf(INFO,Register_unit,FUNCTION, "Generate Statistics file");99 log_printf(INFO,Register_unit,FUNCTION,_("<%s> Generate Statistics file"),_name.c_str()); 100 100 delete _stat; 101 101 } 102 102 #endif 103 103 104 log_printf(INFO,Register_unit,FUNCTION, "Deallocation");104 log_printf(INFO,Register_unit,FUNCTION,_("<%s> Deallocation"),_name.c_str()); 105 105 deallocation (); 106 106 107 log_printf(FUNC,Register_unit,FUNCTION, "End");107 log_printf(FUNC,Register_unit,FUNCTION,_("<%s> End"),_name.c_str()); 108 108 }; 109 109 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_allocation.cpp
r131 r136 106 106 } 107 107 108 // ~~~~~[ Interface "i nsert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~108 // ~~~~~[ Interface "issue" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 109 { 110 ALLOC 2_INTERFACE_BEGIN("insert_rob",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);110 ALLOC1_INTERFACE_BEGIN("issue",IN,WEST,_("Interface to update status (issue)"),_param->_nb_inst_issue); 111 111 112 _ALLOC2_VALACK_IN ( in_INSERT_ROB_VAL ,VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 113 _ALLOC2_VALACK_OUT(out_INSERT_ROB_ACK ,ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 114 _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RD_USE ,"rd_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 115 _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RD_NUM_REG,"rd_num_reg",Tgeneral_address_t,_param->_size_gpr_address,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 116 _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RE_USE ,"re_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 117 _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RE_NUM_REG,"re_num_reg",Tspecial_address_t,_param->_size_spr_address,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 112 ALLOC1_VALACK_IN ( in_ISSUE_VAL ,VAL); 113 ALLOC1_VALACK_OUT(out_ISSUE_ACK ,ACK); 114 ALLOC1_SIGNAL_IN ( in_ISSUE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id); 115 ALLOC1_SIGNAL_IN ( in_ISSUE_RD_USE ,"rd_use" ,Tcontrol_t ,1 ); 116 ALLOC1_SIGNAL_IN ( in_ISSUE_RD_NUM_REG ,"rd_num_reg" ,Tgeneral_address_t,_param->_size_gpr_address ); 117 ALLOC1_SIGNAL_IN ( in_ISSUE_RE_USE ,"re_use" ,Tcontrol_t ,1 ); 118 ALLOC1_SIGNAL_IN ( in_ISSUE_RE_NUM_REG ,"re_num_reg" ,Tspecial_address_t,_param->_size_spr_address ); 118 119 119 ALLOC 2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);120 ALLOC1_INTERFACE_END(_param->_nb_inst_issue); 120 121 } 122 123 // // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 // { 125 // ALLOC2_INTERFACE_BEGIN("insert_rob",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 126 127 // _ALLOC2_VALACK_IN ( in_INSERT_ROB_VAL ,VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 128 // _ALLOC2_VALACK_OUT(out_INSERT_ROB_ACK ,ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 129 // _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RD_USE ,"rd_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 130 // _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RD_NUM_REG,"rd_num_reg",Tgeneral_address_t,_param->_size_gpr_address,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 131 // _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RE_USE ,"re_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 132 // _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RE_NUM_REG,"re_num_reg",Tspecial_address_t,_param->_size_spr_address,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 133 134 // ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 135 // } 121 136 122 137 // // ~~~~~[ Interface "retire_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 375 390 // ------------------------------------------------------------------- 376 391 { 392 uint32_t x=0; 393 377 394 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 378 395 { … … 413 430 } 414 431 415 uint32_t x=0;416 432 for (uint32_t j=0; j<_param->_nb_gpr_write; j++) 417 433 { … … 439 455 } 440 456 441 for (uint32_t j=0; j<_param->_nb_inst_insert_rob [i]; j++) 442 { 443 dest = _name+"_glue"; 444 445 #ifdef POSITION 446 _component->interface_map (src , "write_"+toString(j), 447 dest,"insert_rob_gpr_status_"+toString(i)+"_"+toString(j)); 448 #endif 449 450 COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_VAL", 451 dest,"out_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL"); 452 COMPONENT_MAP(_component,src ,"out_WRITE_" +toString(x)+"_ACK", 453 dest, "in_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK"); 454 COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_DATA", 455 dest,"out_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_DATA"); 456 // dest,"out_CONST_0"); 457 458 dest = _name; 459 460 PORT_MAP (_component,src , "in_WRITE_" +toString(x)+"_ADDRESS", 461 dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_NUM_REG"); 462 463 x++; 464 } 457 // for (uint32_t j=0; j<_param->_nb_inst_insert_rob [i]; j++) 458 // { 459 // dest = _name+"_glue"; 460 461 // #ifdef POSITION 462 // _component->interface_map (src , "write_"+toString(j), 463 // dest,"insert_rob_gpr_status_"+toString(i)+"_"+toString(j)); 464 // #endif 465 466 // COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_VAL", 467 // dest,"out_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL"); 468 // COMPONENT_MAP(_component,src ,"out_WRITE_" +toString(x)+"_ACK", 469 // dest, "in_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK"); 470 // COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_DATA", 471 // dest,"out_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_DATA"); 472 // // dest,"out_CONST_0"); 473 474 // dest = _name; 475 476 // PORT_MAP (_component,src , "in_WRITE_" +toString(x)+"_ADDRESS", 477 // dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_NUM_REG"); 478 479 // x++; 480 // } 481 482 for (uint32_t j=0; j<_param->_nb_inst_issue; j++) 483 { 484 dest = _name+"_glue"; 485 486 #ifdef POSITION 487 _component->interface_map (src ,"write_"+toString(j), 488 dest,"issue_gpr_status_"+toString(i)+"_"+toString(j)); 489 #endif 490 491 COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_VAL", 492 dest,"out_ISSUE_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL"); 493 COMPONENT_MAP(_component,src ,"out_WRITE_" +toString(x)+"_ACK", 494 dest, "in_ISSUE_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK"); 495 COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_DATA", 496 dest,"out_ISSUE_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_DATA"); 497 // dest,"out_CONST_0"); 498 499 dest = _name; 500 501 PORT_MAP (_component,src , "in_WRITE_"+toString(x)+"_ADDRESS", 502 dest, "in_ISSUE_"+toString(j)+"_RD_NUM_REG"); 503 504 x++; 505 } 465 506 } 466 507 }// gpr_status … … 534 575 // ------------------------------------------------------------------- 535 576 { 577 uint32_t x=0; 536 578 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 537 579 { … … 572 614 } 573 615 574 uint32_t x=0;575 616 for (uint32_t j=0; j<_param->_nb_spr_write; j++) 576 617 { … … 597 638 x++; 598 639 } 640 641 // for (uint32_t j=0; j<_param->_nb_inst_insert_rob [i]; j++) 642 // { 643 // dest = _name+"_glue"; 644 645 // #ifdef POSITION 646 // _component->interface_map (src , "write_"+toString(x), 647 // dest,"insert_rob_spr_status_"+toString(i)+"_"+toString(j)); 648 // #endif 649 650 // COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_VAL", 651 // dest,"out_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL"); 652 // COMPONENT_MAP(_component,src ,"out_WRITE_" +toString(x)+"_ACK", 653 // dest, "in_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK"); 654 // COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_DATA", 655 // dest,"out_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_DATA"); 656 // // dest,"out_CONST_0"); 657 658 // dest = _name; 659 660 // PORT_MAP (_component,src , "in_WRITE_" +toString(x)+"_ADDRESS", 661 // dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_NUM_REG"); 662 663 // x++; 664 // } 599 665 600 for (uint32_t j=0; j<_param->_nb_inst_insert_rob [i]; j++) 601 { 602 dest = _name+"_glue"; 603 604 #ifdef POSITION 605 _component->interface_map (src , "write_"+toString(x), 606 dest,"insert_rob_spr_status_"+toString(i)+"_"+toString(j)); 607 #endif 608 609 COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_VAL", 610 dest,"out_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL"); 611 COMPONENT_MAP(_component,src ,"out_WRITE_" +toString(x)+"_ACK", 612 dest, "in_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK"); 613 COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_DATA", 614 dest,"out_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_DATA"); 615 // dest,"out_CONST_0"); 616 617 dest = _name; 618 619 PORT_MAP (_component,src , "in_WRITE_" +toString(x)+"_ADDRESS", 620 dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_NUM_REG"); 621 622 x++; 623 } 666 for (uint32_t j=0; j<_param->_nb_inst_issue; j++) 667 { 668 dest = _name+"_glue"; 669 670 #ifdef POSITION 671 _component->interface_map (src , "write_"+toString(x), 672 dest,"issue_spr_status_"+toString(i)+"_"+toString(j)); 673 #endif 674 675 COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_VAL", 676 dest,"out_ISSUE_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL"); 677 COMPONENT_MAP(_component,src ,"out_WRITE_" +toString(x)+"_ACK", 678 dest, "in_ISSUE_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK"); 679 COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_DATA", 680 dest,"out_ISSUE_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_DATA"); 681 // dest,"out_CONST_0"); 682 683 dest = _name; 684 685 PORT_MAP (_component,src , "in_WRITE_"+toString(x)+"_ADDRESS", 686 dest, "in_ISSUE_"+toString(j)+"_RE_NUM_REG"); 687 688 x++; 689 } 690 624 691 } 625 692 }// spr_status … … 751 818 } 752 819 753 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 820 // for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 821 // { 822 // uint32_t x = _param->_nb_inst_insert_rob [i]; 823 824 // for (uint32_t j=0; j<x; j++) 825 // { 826 // dest = _name; 827 828 // #ifdef POSITION 829 // _component->interface_map (src ,"insert_rob_"+toString(i)+"_"+toString(j), 830 // dest,"insert_rob_"+toString(i)+"_"+toString(j)); 831 // #endif 832 833 // PORT_MAP(_component,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_VAL", 834 // dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_VAL"); 835 // PORT_MAP(_component,src ,"out_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_ACK", 836 // dest,"out_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_ACK"); 837 // PORT_MAP(_component,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_USE", 838 // dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_USE"); 839 // PORT_MAP(_component,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_USE", 840 // dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_USE"); 841 842 // // out_INSERT_ROB_GPR_STATUS_VAL - gpr_status. in_WRITE_VAL 843 // // in_INSERT_ROB_GPR_STATUS_ACK - gpr_status. out_WRITE_ACK 844 // // out_INSERT_ROB_GPR_STATUS_DATA- gpr_status. in_WRITE_DATA 845 // // out_INSERT_ROB_SPR_STATUS_VAL - spr_status. in_WRITE_VAL 846 // // in_INSERT_ROB_SPR_STATUS_ACK - spr_status. out_WRITE_ACK 847 // // in_INSERT_ROB_SPR_STATUS_DATA- spr_status. out_WRITE_DATA 848 // } 849 // } 850 851 for (uint32_t i=0; i<_param->_nb_inst_issue; i++) 754 852 { 755 uint32_t x = _param->_nb_inst_insert_rob [i]; 756 757 for (uint32_t j=0; j<x; j++) 758 { 759 dest = _name; 760 761 #ifdef POSITION 762 _component->interface_map (src ,"insert_rob_"+toString(i)+"_"+toString(j), 763 dest,"insert_rob_"+toString(i)+"_"+toString(j)); 764 #endif 765 766 PORT_MAP(_component,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_VAL", 767 dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_VAL"); 768 PORT_MAP(_component,src ,"out_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_ACK", 769 dest,"out_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_ACK"); 770 PORT_MAP(_component,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_USE", 771 dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_USE"); 772 PORT_MAP(_component,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_USE", 773 dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_USE"); 774 775 // out_INSERT_ROB_GPR_STATUS_VAL - gpr_status. in_WRITE_VAL 776 // in_INSERT_ROB_GPR_STATUS_ACK - gpr_status. out_WRITE_ACK 777 // out_INSERT_ROB_GPR_STATUS_DATA- gpr_status. in_WRITE_DATA 778 // out_INSERT_ROB_SPR_STATUS_VAL - spr_status. in_WRITE_VAL 779 // in_INSERT_ROB_SPR_STATUS_ACK - spr_status. out_WRITE_ACK 780 // in_INSERT_ROB_SPR_STATUS_DATA- spr_status. out_WRITE_DATA 781 } 853 dest = _name; 854 855 #ifdef POSITION 856 _component->interface_map (src ,"issue_"+toString(i), 857 dest,"issue_"+toString(i)); 858 #endif 859 860 PORT_MAP(_component,src , "in_ISSUE_"+toString(i)+"_VAL", 861 dest, "in_ISSUE_"+toString(i)+"_VAL"); 862 PORT_MAP(_component,src ,"out_ISSUE_"+toString(i)+"_ACK", 863 dest,"out_ISSUE_"+toString(i)+"_ACK"); 864 if (_param->_have_port_ooo_engine_id == true) 865 PORT_MAP(_component,src , "in_ISSUE_"+toString(i)+"_OOO_ENGINE_ID", 866 dest, "in_ISSUE_"+toString(i)+"_OOO_ENGINE_ID"); 867 PORT_MAP(_component,src , "in_ISSUE_"+toString(i)+"_RD_USE", 868 dest, "in_ISSUE_"+toString(i)+"_RD_USE"); 869 PORT_MAP(_component,src , "in_ISSUE_"+toString(i)+"_RE_USE", 870 dest, "in_ISSUE_"+toString(i)+"_RE_USE"); 871 872 // out_ISSUE_GPR_STATUS_VAL - gpr_status. in_WRITE_VAL 873 // in_ISSUE_GPR_STATUS_ACK - gpr_status.out_WRITE_ACK 874 // out_ISSUE_GPR_STATUS_DATA- gpr_status. in_WRITE_DATA 875 // out_ISSUE_SPR_STATUS_VAL - spr_status. in_WRITE_VAL 876 // in_ISSUE_SPR_STATUS_ACK - spr_status.out_WRITE_ACK 877 // in_ISSUE_SPR_STATUS_DATA- spr_status.out_WRITE_DATA 782 878 } 879 783 880 }// glue 784 881 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_deallocation.cpp
r128 r136 54 54 DELETE1_SIGNAL( in_SPR_WRITE_DATA ,_param->_nb_spr_write,_param->_size_special_data); 55 55 56 DELETE2_SIGNAL( in_INSERT_ROB_VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 57 DELETE2_SIGNAL(out_INSERT_ROB_ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 58 DELETE2_SIGNAL( in_INSERT_ROB_RD_USE ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 59 DELETE2_SIGNAL( in_INSERT_ROB_RD_NUM_REG ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],_param->_size_gpr_address); 60 DELETE2_SIGNAL( in_INSERT_ROB_RE_USE ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 61 DELETE2_SIGNAL( in_INSERT_ROB_RE_NUM_REG ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],_param->_size_spr_address); 56 DELETE1_SIGNAL( in_ISSUE_VAL ,_param->_nb_inst_issue,1); 57 DELETE1_SIGNAL(out_ISSUE_ACK ,_param->_nb_inst_issue,1); 58 DELETE1_SIGNAL( in_ISSUE_OOO_ENGINE_ID,_param->_nb_inst_issue,_param->_size_ooo_engine_id); 59 DELETE1_SIGNAL( in_ISSUE_RD_USE ,_param->_nb_inst_issue,1); 60 DELETE1_SIGNAL( in_ISSUE_RD_NUM_REG ,_param->_nb_inst_issue,_param->_size_gpr_address); 61 DELETE1_SIGNAL( in_ISSUE_RE_USE ,_param->_nb_inst_issue,1); 62 DELETE1_SIGNAL( in_ISSUE_RE_NUM_REG ,_param->_nb_inst_issue,_param->_size_spr_address); 63 64 // DELETE2_SIGNAL( in_INSERT_ROB_VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 65 // DELETE2_SIGNAL(out_INSERT_ROB_ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 66 // DELETE2_SIGNAL( in_INSERT_ROB_RD_USE ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 67 // DELETE2_SIGNAL( in_INSERT_ROB_RD_NUM_REG ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],_param->_size_gpr_address); 68 // DELETE2_SIGNAL( in_INSERT_ROB_RE_USE ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 69 // DELETE2_SIGNAL( in_INSERT_ROB_RE_NUM_REG ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],_param->_size_spr_address); 62 70 63 71 // delete [] in_RETIRE_ROB_VAL ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/include/Execute_loop.h
r122 r136 80 80 public : SC_IN (Toperation_t ) ** in_EXECUTE_LOOP_IN_OPERATION ;//[nb_read_unit] 81 81 public : SC_IN (Ttype_t ) ** in_EXECUTE_LOOP_IN_TYPE ;//[nb_read_unit] 82 public : SC_IN (Tcontrol_t ) ** in_EXECUTE_LOOP_IN_CANCEL ;//[nb_read_unit] 82 83 public : SC_IN (Tlsq_ptr_t ) ** in_EXECUTE_LOOP_IN_STORE_QUEUE_PTR_WRITE;//[nb_read_unit] 83 84 public : SC_IN (Tlsq_ptr_t ) ** in_EXECUTE_LOOP_IN_STORE_QUEUE_PTR_READ ;//[nb_read_unit] … … 106 107 //public : SC_OUT(Toperation_t ) ** out_EXECUTE_LOOP_OUT_OPERATION ;//[nb_write_unit] 107 108 //public : SC_OUT(Ttype_t ) ** out_EXECUTE_LOOP_OUT_TYPE ;//[nb_write_unit] 109 public : SC_OUT(Tcontrol_t ) ** out_EXECUTE_LOOP_OUT_CANCEL ;//[nb_write_unit] 108 110 public : SC_OUT(Tspecial_data_t ) ** out_EXECUTE_LOOP_OUT_FLAGS ;//[nb_write_unit] 109 111 public : SC_OUT(Texception_t ) ** out_EXECUTE_LOOP_OUT_EXCEPTION ;//[nb_write_unit] … … 129 131 public : SC_IN (Tdcache_error_t ) *** in_DCACHE_RSP_ERROR ;//[nb_load_store_queue][nb_cache_port] 130 132 131 // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~132 public : SC_IN (Tcontrol_t ) *** in_INSERT_ROB_VAL ;//[nb_ooo_engine][nb_inst_insert_rob]133 public : SC_OUT(Tcontrol_t ) *** out_INSERT_ROB_ACK ;//[nb_ooo_engine][nb_inst_insert_rob]134 public : SC_IN (Tcontrol_t ) *** in_INSERT_ROB_RD_USE ;//[nb_ooo_engine][nb_inst_insert_rob]135 public : SC_IN (Tgeneral_address_t) *** in_INSERT_ROB_RD_NUM_REG ;//[nb_ooo_engine][nb_inst_insert_rob]136 public : SC_IN (Tcontrol_t ) *** in_INSERT_ROB_RE_USE ;//[nb_ooo_engine][nb_inst_insert_rob]137 public : SC_IN (Tspecial_address_t) *** in_INSERT_ROB_RE_NUM_REG ;//[nb_ooo_engine][nb_inst_insert_rob]133 // // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 134 // public : SC_IN (Tcontrol_t ) *** in_INSERT_ROB_VAL ;//[nb_ooo_engine][nb_inst_insert_rob] 135 // public : SC_OUT(Tcontrol_t ) *** out_INSERT_ROB_ACK ;//[nb_ooo_engine][nb_inst_insert_rob] 136 // public : SC_IN (Tcontrol_t ) *** in_INSERT_ROB_RD_USE ;//[nb_ooo_engine][nb_inst_insert_rob] 137 // public : SC_IN (Tgeneral_address_t) *** in_INSERT_ROB_RD_NUM_REG ;//[nb_ooo_engine][nb_inst_insert_rob] 138 // public : SC_IN (Tcontrol_t ) *** in_INSERT_ROB_RE_USE ;//[nb_ooo_engine][nb_inst_insert_rob] 139 // public : SC_IN (Tspecial_address_t) *** in_INSERT_ROB_RE_NUM_REG ;//[nb_ooo_engine][nb_inst_insert_rob] 138 140 139 141 // // ~~~~~[ Interface "retire_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/include/Parameters.h
r120 r136 88 88 public : uint32_t * _nb_general_register ; //[nb_ooo_engine] 89 89 public : uint32_t * _nb_special_register ; //[nb_ooo_engine] 90 91 90 //public : uint32_t * _nb_inst_insert_rob ; //[nb_ooo_engine] 91 //public : uint32_t * _nb_inst_retire_rob ; //[nb_ooo_engine] 92 92 // * network 93 93 public : Tpriority_t _execution_unit_to_write_unit_priority ; … … 105 105 public : bool * _num_thread_valid ; //[nb_thread] 106 106 107 public : uint32_t _nb_thread ; 107 108 public : uint32_t _nb_execute_unit ; 108 109 public : uint32_t * _nb_execute_unit_port ; … … 119 120 public : bool _have_port_dcache_context_id ; 120 121 122 public : uint32_t _max_nb_inst_memory ; 121 123 public : uint32_t _max_nb_general_register; 122 124 public : uint32_t _max_nb_special_register; … … 186 188 uint32_t * nb_general_register ,//[nb_ooo_engine] 187 189 uint32_t * nb_special_register ,//[nb_ooo_engine] 188 189 190 // uint32_t * nb_inst_insert_rob ,//[nb_ooo_engine] 191 // uint32_t * nb_inst_retire_rob ,//[nb_ooo_engine] 190 192 191 193 Tpriority_t execution_unit_to_write_unit_priority , -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/src/Execute_loop.cpp
r123 r136 34 34 ,_usage (usage) 35 35 { 36 log_printf(FUNC,Execute_loop,FUNCTION, "Begin");36 log_printf(FUNC,Execute_loop,FUNCTION,_("<%s> Begin"),_name.c_str()); 37 37 38 38 // #if DEBUG_Execute_loop == true … … 42 42 // #endif 43 43 44 log_printf(INFO,Execute_loop,FUNCTION, "Allocation");44 log_printf(INFO,Execute_loop,FUNCTION,_("<%s> Allocation"),_name.c_str()); 45 45 46 46 allocation ( … … 53 53 if (usage_is_set(_usage,USE_STATISTICS)) 54 54 { 55 log_printf(INFO,Execute_loop,FUNCTION, "Allocation of statistics");55 log_printf(INFO,Execute_loop,FUNCTION,_("<%s> Allocation of statistics"),_name.c_str()); 56 56 57 57 statistics_declaration(param_statistics); … … 63 63 { 64 64 // generate the vhdl 65 log_printf(INFO,Execute_loop,FUNCTION, "Generate the vhdl");65 log_printf(INFO,Execute_loop,FUNCTION,_("<%s> Generate the vhdl"),_name.c_str()); 66 66 67 67 vhdl(); … … 72 72 if (usage_is_set(_usage,USE_SYSTEMC)) 73 73 { 74 log_printf(INFO,Execute_loop,FUNCTION, "Method - transition");74 log_printf(INFO,Execute_loop,FUNCTION,_("<%s> Method - transition"),_name.c_str()); 75 75 76 76 SC_METHOD (transition); … … 84 84 #endif 85 85 } 86 log_printf(FUNC,Execute_loop,FUNCTION, "End");86 log_printf(FUNC,Execute_loop,FUNCTION,_("<%s> End"),_name.c_str()); 87 87 }; 88 88 … … 91 91 Execute_loop::~Execute_loop (void) 92 92 { 93 log_printf(FUNC,Execute_loop,FUNCTION, "Begin");93 log_printf(FUNC,Execute_loop,FUNCTION,_("<%s> Begin"),_name.c_str()); 94 94 95 95 #ifdef STATISTICS 96 96 if (usage_is_set(_usage,USE_STATISTICS)) 97 97 { 98 log_printf(INFO,Execute_loop,FUNCTION, "Generate Statistics file");98 log_printf(INFO,Execute_loop,FUNCTION,_("<%s> Generate Statistics file"),_name.c_str()); 99 99 100 100 delete _stat; … … 102 102 #endif 103 103 104 log_printf(INFO,Execute_loop,FUNCTION, "Deallocation");104 log_printf(INFO,Execute_loop,FUNCTION,_("<%s> Deallocation"),_name.c_str()); 105 105 deallocation (); 106 106 107 log_printf(FUNC,Execute_loop,FUNCTION, "End");107 log_printf(FUNC,Execute_loop,FUNCTION,_("<%s> End"),_name.c_str()); 108 108 }; 109 109 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/src/Execute_loop_allocation.cpp
r122 r136 65 65 ALLOC1_SIGNAL_IN ( in_EXECUTE_LOOP_IN_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation); 66 66 ALLOC1_SIGNAL_IN ( in_EXECUTE_LOOP_IN_TYPE ,"type" ,Ttype_t ,_param->_size_type); 67 ALLOC1_SIGNAL_IN ( in_EXECUTE_LOOP_IN_CANCEL ,"cancel" ,Tcontrol_t ,1); 67 68 ALLOC1_SIGNAL_IN ( in_EXECUTE_LOOP_IN_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t ,_param->_size_store_queue_ptr); 68 69 ALLOC1_SIGNAL_IN ( in_EXECUTE_LOOP_IN_STORE_QUEUE_PTR_READ ,"store_queue_ptr_read" ,Tlsq_ptr_t ,_param->_size_store_queue_ptr); … … 96 97 // ALLOC1_SIGNAL_OUT(out_EXECUTE_LOOP_OUT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation); 97 98 // ALLOC1_SIGNAL_OUT(out_EXECUTE_LOOP_OUT_TYPE ,"type" ,Ttype_t ,_param->_size_type); 99 ALLOC1_SIGNAL_OUT(out_EXECUTE_LOOP_OUT_CANCEL ,"cancel" ,Tcontrol_t ,1); 98 100 ALLOC1_SIGNAL_OUT(out_EXECUTE_LOOP_OUT_FLAGS ,"flags" ,Tspecial_data_t,_param->_size_special_data); 99 101 ALLOC1_SIGNAL_OUT(out_EXECUTE_LOOP_OUT_EXCEPTION ,"exception" ,Texception_t ,_param->_size_exception); … … 133 135 } 134 136 135 // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~136 {137 ALLOC2_INTERFACE_BEGIN("insert_rob",IN, EAST, "Rename's stage : insert a new instruction in the Re Order Buffer",_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);138 139 _ALLOC2_VALACK_IN ( in_INSERT_ROB_VAL,VAL,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);140 _ALLOC2_VALACK_OUT(out_INSERT_ROB_ACK,ACK,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);141 142 _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RD_USE ,"rd_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);143 _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RD_NUM_REG,"rd_num_reg",Tgeneral_address_t,_param->_size_general_register,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);144 _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RE_USE ,"re_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);145 _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RE_NUM_REG,"re_num_reg",Tspecial_address_t,_param->_size_special_register,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);146 147 ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);148 }137 // // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 138 // { 139 // ALLOC2_INTERFACE_BEGIN("insert_rob",IN, EAST, "Rename's stage : insert a new instruction in the Re Order Buffer",_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]); 140 141 // _ALLOC2_VALACK_IN ( in_INSERT_ROB_VAL,VAL,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]); 142 // _ALLOC2_VALACK_OUT(out_INSERT_ROB_ACK,ACK,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]); 143 144 // _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RD_USE ,"rd_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]); 145 // _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RD_NUM_REG,"rd_num_reg",Tgeneral_address_t,_param->_size_general_register,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]); 146 // _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RE_USE ,"re_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]); 147 // _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RE_NUM_REG,"re_num_reg",Tspecial_address_t,_param->_size_special_register,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]); 148 149 // ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]); 150 // } 149 151 150 152 // // ~~~~~[ Interface "retire_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 440 442 } 441 443 442 444 // -----[ Interface "issue" ]----------------------------------------- 445 for (uint32_t i=0; i<_param->_nb_read_unit; i++) 446 { 447 dest = _name; 448 449 PORT_MAP(_component ,src , "in_ISSUE_"+toString(i)+"_VAL", 450 dest, "in_EXECUTE_LOOP_IN_"+toString(i)+"_VAL"); 451 PORT_MAP(_component ,src ,"out_ISSUE_"+toString(i)+"_ACK", 452 dest,"out_EXECUTE_LOOP_IN_"+toString(i)+"_ACK"); 453 454 //out_ISSUE_READ_UNIT_VAL 455 // in_ISSUE_READ_UNIT_ACK 456 //out_ISSUE_REGISTER_UNIT_VAL 457 // in_ISSUE_REGISTER_UNIT_ACK 458 } 443 459 } 444 460 … … 466 482 // ~~~~~[ Interface "read_unit_in" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 467 483 { 484 dest = _name+"_glue"; 485 486 COMPONENT_MAP(_component ,src , "in_READ_UNIT_IN_VAL" , 487 dest,"out_ISSUE_"+toString(i)+"_READ_UNIT_VAL"); 488 COMPONENT_MAP(_component ,src ,"out_READ_UNIT_IN_ACK" 489 ,dest, "in_ISSUE_"+toString(i)+"_READ_UNIT_ACK"); 490 468 491 dest = _name; 469 492 #ifdef POSITION … … 472 495 #endif 473 496 474 PORT_MAP(_component ,src , "in_READ_UNIT_IN_VAL" ,dest , "in_EXECUTE_LOOP_IN_"+toString(i)+"_VAL" );475 PORT_MAP(_component ,src ,"out_READ_UNIT_IN_ACK" ,dest ,"out_EXECUTE_LOOP_IN_"+toString(i)+"_ACK" );476 497 if (_param->_have_port_context_id) 477 498 PORT_MAP(_component ,src , "in_READ_UNIT_IN_CONTEXT_ID" ,dest , "in_EXECUTE_LOOP_IN_"+toString(i)+"_CONTEXT_ID" ); … … 484 505 PORT_MAP(_component ,src , "in_READ_UNIT_IN_OPERATION" ,dest , "in_EXECUTE_LOOP_IN_"+toString(i)+"_OPERATION" ); 485 506 PORT_MAP(_component ,src , "in_READ_UNIT_IN_TYPE" ,dest , "in_EXECUTE_LOOP_IN_"+toString(i)+"_TYPE" ); 507 PORT_MAP(_component ,src , "in_READ_UNIT_IN_CANCEL" ,dest , "in_EXECUTE_LOOP_IN_"+toString(i)+"_CANCEL" ); 486 508 PORT_MAP(_component ,src , "in_READ_UNIT_IN_STORE_QUEUE_PTR_WRITE",dest , "in_EXECUTE_LOOP_IN_"+toString(i)+"_STORE_QUEUE_PTR_WRITE"); 487 509 PORT_MAP(_component ,src , "in_READ_UNIT_IN_STORE_QUEUE_PTR_READ" ,dest , "in_EXECUTE_LOOP_IN_"+toString(i)+"_STORE_QUEUE_PTR_READ" ); … … 533 555 COMPONENT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(j )+"_TYPE" , 534 556 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_"+toString(j)+"_TYPE" ); 557 COMPONENT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(j )+"_CANCEL" , 558 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_"+toString(j)+"_CANCEL" ); 535 559 COMPONENT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(j )+"_STORE_QUEUE_PTR_WRITE", 536 560 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_"+toString(j)+"_STORE_QUEUE_PTR_WRITE"); … … 818 842 COMPONENT_MAP(_component ,src , "in_EXECUTE_IN_TYPE" , 819 843 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_0_TYPE" ); 844 COMPONENT_MAP(_component ,src , "in_EXECUTE_IN_CANCEL" , 845 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_0_CANCEL" ); 820 846 COMPONENT_MAP(_component ,src , "in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE", 821 847 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_0_STORE_QUEUE_PTR_WRITE"); … … 876 902 // COMPONENT_MAP(_component ,src ,"out_EXECUTE_OUT_TYPE" , 877 903 // dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_0_TYPE" ); 904 COMPONENT_MAP(_component ,src ,"out_EXECUTE_OUT_CANCEL" , 905 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_0_CANCEL" ); 878 906 COMPONENT_MAP(_component ,src ,"out_EXECUTE_OUT_WRITE_RD" , 879 907 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_0_WRITE_RD" ); … … 946 974 COMPONENT_MAP(_component ,src , "in_MEMORY_IN_"+toString(j)+"_TYPE" , 947 975 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_"+toString(j)+"_TYPE" ); 976 COMPONENT_MAP(_component ,src , "in_MEMORY_IN_"+toString(j)+"_CANCEL" , 977 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_"+toString(j)+"_CANCEL" ); 948 978 COMPONENT_MAP(_component ,src , "in_MEMORY_IN_"+toString(j)+"_STORE_QUEUE_PTR_WRITE", 949 979 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_"+toString(j)+"_STORE_QUEUE_PTR_WRITE"); … … 1005 1035 // COMPONENT_MAP(_component ,src ,"out_MEMORY_OUT_"+toString(j)+"_TYPE" , 1006 1036 // dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_"+toString(j)+"_TYPE" ); 1037 COMPONENT_MAP(_component ,src ,"out_MEMORY_OUT_"+toString(j)+"_CANCEL" , 1038 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_"+toString(j)+"_CANCEL" ); 1007 1039 COMPONENT_MAP(_component ,src ,"out_MEMORY_OUT_"+toString(j)+"_WRITE_RD" , 1008 1040 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_"+toString(j)+"_WRITE_RD" ); … … 1115 1147 // COMPONENT_MAP(_component ,src , "in_WRITE_UNIT_IN_TYPE" , 1116 1148 // dest,"out_WRITE_UNIT_IN_"+toString(i)+"_TYPE" ); 1149 COMPONENT_MAP(_component ,src , "in_WRITE_UNIT_IN_CANCEL" , 1150 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_CANCEL" ); 1117 1151 COMPONENT_MAP(_component ,src , "in_WRITE_UNIT_IN_WRITE_RD" , 1118 1152 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_WRITE_RD" ); … … 1163 1197 // PORT_MAP(_component ,src ,"out_WRITE_UNIT_OUT_TYPE" , 1164 1198 // dest,"out_EXECUTE_LOOP_OUT_"+toString(i)+"_TYPE" ); 1199 PORT_MAP(_component ,src ,"out_WRITE_UNIT_OUT_CANCEL" , 1200 dest,"out_EXECUTE_LOOP_OUT_"+toString(i)+"_CANCEL" ); 1165 1201 PORT_MAP(_component ,src ,"out_WRITE_UNIT_OUT_FLAGS" , 1166 1202 dest,"out_EXECUTE_LOOP_OUT_"+toString(i)+"_FLAGS" ); … … 1279 1315 #endif 1280 1316 1281 COMPONENT_MAP(_component ,src , "in_GPR_WRITE_"+toString(i)+"_VAL" ,dest,"out_GPR_WRITE_REGISTER_FILE_"+toString(i)+"_VAL" ); 1282 COMPONENT_MAP(_component ,src ,"out_GPR_WRITE_"+toString(i)+"_ACK" ,dest, "in_GPR_WRITE_REGISTER_FILE_"+toString(i)+"_ACK" ); 1317 COMPONENT_MAP(_component ,src , "in_GPR_WRITE_"+toString(i)+"_VAL" , 1318 dest,"out_GPR_WRITE_REGISTER_FILE_"+toString(i)+"_VAL" ); 1319 COMPONENT_MAP(_component ,src ,"out_GPR_WRITE_"+toString(i)+"_ACK" , 1320 dest, "in_GPR_WRITE_REGISTER_FILE_"+toString(i)+"_ACK" ); 1283 1321 if (_param->_have_port_ooo_engine_id) 1284 COMPONENT_MAP(_component ,src , "in_GPR_WRITE_"+toString(i)+"_OOO_ENGINE_ID",dest,"out_GPR_WRITE_REGISTER_FILE_"+toString(i)+"_OOO_ENGINE_ID"); 1285 COMPONENT_MAP(_component ,src , "in_GPR_WRITE_"+toString(i)+"_NUM_REG" ,dest,"out_GPR_WRITE_REGISTER_FILE_"+toString(i)+"_NUM_REG" ); 1286 COMPONENT_MAP(_component ,src , "in_GPR_WRITE_"+toString(i)+"_DATA" ,dest,"out_GPR_WRITE_REGISTER_FILE_"+toString(i)+"_DATA" ); 1322 COMPONENT_MAP(_component ,src , "in_GPR_WRITE_"+toString(i)+"_OOO_ENGINE_ID", 1323 dest,"out_GPR_WRITE_REGISTER_FILE_"+toString(i)+"_OOO_ENGINE_ID"); 1324 COMPONENT_MAP(_component ,src , "in_GPR_WRITE_"+toString(i)+"_NUM_REG" , 1325 dest,"out_GPR_WRITE_REGISTER_FILE_"+toString(i)+"_NUM_REG" ); 1326 COMPONENT_MAP(_component ,src , "in_GPR_WRITE_"+toString(i)+"_DATA" , 1327 dest,"out_GPR_WRITE_REGISTER_FILE_"+toString(i)+"_DATA" ); 1287 1328 } 1288 1329 … … 1321 1362 COMPONENT_MAP(_component ,src , "in_SPR_WRITE_"+toString(i)+"_DATA" ,dest,"out_SPR_WRITE_REGISTER_FILE_"+toString(i)+"_DATA" ); 1322 1363 } 1364 1365 // ~~~~~[ Interface "issue" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1366 for (uint32_t i=0; i<_param->_nb_read_unit; i++) 1367 { 1368 dest = _name+"_glue"; 1369 1370 COMPONENT_MAP(_component ,src , "in_ISSUE_"+toString(i)+"_VAL", 1371 dest,"out_ISSUE_"+toString(i)+"_REGISTER_UNIT_VAL"); 1372 COMPONENT_MAP(_component ,src ,"out_ISSUE_"+toString(i)+"_ACK", 1373 dest, "in_ISSUE_"+toString(i)+"_REGISTER_UNIT_ACK"); 1374 1375 dest = _name; 1376 #ifdef POSITION 1377 _component->interface_map (src ,"issue_"+toString(i), 1378 dest,"issue_"+toString(i)); 1379 #endif 1380 1381 if (_param->_have_port_ooo_engine_id) 1382 PORT_MAP(_component ,src , "in_ISSUE_" +toString(i)+"_OOO_ENGINE_ID", 1383 dest, "in_EXECUTE_LOOP_IN_"+toString(i)+"_OOO_ENGINE_ID"); 1384 PORT_MAP(_component ,src , "in_ISSUE_" +toString(i)+"_RD_USE" , 1385 dest, "in_EXECUTE_LOOP_IN_"+toString(i)+"_WRITE_RD" ); 1386 PORT_MAP(_component ,src , "in_ISSUE_" +toString(i)+"_RE_USE" , 1387 dest, "in_EXECUTE_LOOP_IN_"+toString(i)+"_WRITE_RE" ); 1388 PORT_MAP(_component ,src , "in_ISSUE_" +toString(i)+"_RD_NUM_REG", 1389 dest, "in_EXECUTE_LOOP_IN_"+toString(i)+"_NUM_REG_RD"); 1390 PORT_MAP(_component ,src , "in_ISSUE_" +toString(i)+"_RE_NUM_REG", 1391 dest, "in_EXECUTE_LOOP_IN_"+toString(i)+"_NUM_REG_RE"); 1392 } 1323 1393 1324 // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1325 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)1326 {1327 uint32_t x=_param->_nb_inst_insert_rob [i];1394 // // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1395 // for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 1396 // { 1397 // uint32_t x=_param->_nb_inst_insert_rob [i]; 1328 1398 1329 for (uint32_t j=0; j<x; j++)1330 {1331 dest = _name;1332 #ifdef POSITION1333 _component->interface_map (src ,"insert_rob_"+toString(i)+"_"+toString(j),1334 dest,"insert_rob_"+toString(i)+"_"+toString(j));1335 #endif1336 1337 PORT_MAP(_component ,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_VAL" ,1338 dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_VAL" );1339 PORT_MAP(_component ,src ,"out_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_ACK" ,1340 dest,"out_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_ACK" );1341 PORT_MAP(_component ,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_USE" ,1342 dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_USE" );1343 PORT_MAP(_component ,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_NUM_REG",1344 dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_NUM_REG");1345 PORT_MAP(_component ,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_USE" ,1346 dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_USE" );1347 PORT_MAP(_component ,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_NUM_REG",1348 dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_NUM_REG");1349 }1350 }1399 // for (uint32_t j=0; j<x; j++) 1400 // { 1401 // dest = _name; 1402 // #ifdef POSITION 1403 // _component->interface_map (src ,"insert_rob_"+toString(i)+"_"+toString(j), 1404 // dest,"insert_rob_"+toString(i)+"_"+toString(j)); 1405 // #endif 1406 1407 // PORT_MAP(_component ,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_VAL" , 1408 // dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_VAL" ); 1409 // PORT_MAP(_component ,src ,"out_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_ACK" , 1410 // dest,"out_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_ACK" ); 1411 // PORT_MAP(_component ,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_USE" , 1412 // dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_USE" ); 1413 // PORT_MAP(_component ,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_NUM_REG", 1414 // dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_NUM_REG"); 1415 // PORT_MAP(_component ,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_USE" , 1416 // dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_USE" ); 1417 // PORT_MAP(_component ,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_NUM_REG", 1418 // dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_NUM_REG"); 1419 // } 1420 // } 1351 1421 1352 1422 // // ~~~~~[ Interface "retire_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 1756 1826 1757 1827 log_printf(FUNC,Execute_loop,FUNCTION,"End"); 1758 };1828 }; 1759 1829 1760 1830 }; // end namespace execute_loop -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/src/Execute_loop_deallocation.cpp
r122 r136 35 35 DELETE1_SIGNAL( in_EXECUTE_LOOP_IN_OPERATION ,_param->_nb_read_unit,_param->_size_operation); 36 36 DELETE1_SIGNAL( in_EXECUTE_LOOP_IN_TYPE ,_param->_nb_read_unit,_param->_size_type); 37 DELETE1_SIGNAL( in_EXECUTE_LOOP_IN_CANCEL ,_param->_nb_read_unit,1); 37 38 DELETE1_SIGNAL( in_EXECUTE_LOOP_IN_STORE_QUEUE_PTR_WRITE,_param->_nb_read_unit,_param->_size_store_queue_ptr); 38 39 DELETE1_SIGNAL( in_EXECUTE_LOOP_IN_STORE_QUEUE_PTR_READ ,_param->_nb_read_unit,_param->_size_store_queue_ptr); … … 60 61 // DELETE1_SIGNAL(out_EXECUTE_LOOP_OUT_OPERATION ,_param->_nb_write_unit,_param->_size_operation); 61 62 // DELETE1_SIGNAL(out_EXECUTE_LOOP_OUT_TYPE ,_param->_nb_write_unit,_param->_size_type); 63 DELETE1_SIGNAL(out_EXECUTE_LOOP_OUT_CANCEL ,_param->_nb_write_unit,1); 62 64 DELETE1_SIGNAL(out_EXECUTE_LOOP_OUT_FLAGS ,_param->_nb_write_unit,_param->_size_special_data); 63 65 DELETE1_SIGNAL(out_EXECUTE_LOOP_OUT_EXCEPTION ,_param->_nb_write_unit,_param->_size_exception); … … 81 83 DELETE2_SIGNAL( in_DCACHE_RSP_ERROR , _param->_nb_load_store_unit, _param->_nb_cache_port[it1],_param->_size_dcache_error ); 82 84 83 DELETE2_SIGNAL( in_INSERT_ROB_VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1],1 );84 DELETE2_SIGNAL(out_INSERT_ROB_ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1],1 );85 DELETE2_SIGNAL( in_INSERT_ROB_RD_USE ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1],1 );86 DELETE2_SIGNAL( in_INSERT_ROB_RD_NUM_REG,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1],_param->_size_general_register);87 DELETE2_SIGNAL( in_INSERT_ROB_RE_USE ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1],1 );88 DELETE2_SIGNAL( in_INSERT_ROB_RE_NUM_REG,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1],_param->_size_special_register);85 // DELETE2_SIGNAL( in_INSERT_ROB_VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1],1 ); 86 // DELETE2_SIGNAL(out_INSERT_ROB_ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1],1 ); 87 // DELETE2_SIGNAL( in_INSERT_ROB_RD_USE ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1],1 ); 88 // DELETE2_SIGNAL( in_INSERT_ROB_RD_NUM_REG,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1],_param->_size_general_register); 89 // DELETE2_SIGNAL( in_INSERT_ROB_RE_USE ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1],1 ); 90 // DELETE2_SIGNAL( in_INSERT_ROB_RE_NUM_REG,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1],_param->_size_special_register); 89 91 90 92 // DELETE2_SIGNAL( in_RETIRE_ROB_VAL ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1],1 ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/src/Parameters.cpp
r128 r136 61 61 uint32_t * nb_general_register ,//[nb_ooo_engine] 62 62 uint32_t * nb_special_register ,//[nb_ooo_engine] 63 uint32_t * nb_inst_insert_rob ,//[nb_ooo_engine]64 uint32_t * nb_inst_retire_rob ,//[nb_ooo_engine]63 // uint32_t * nb_inst_insert_rob ,//[nb_ooo_engine] 64 // uint32_t * nb_inst_retire_rob ,//[nb_ooo_engine] 65 65 66 66 Tpriority_t execution_unit_to_write_unit_priority , … … 122 122 _nb_general_register = nb_general_register ; 123 123 _nb_special_register = nb_special_register ; 124 _nb_inst_insert_rob = nb_inst_insert_rob ;125 _nb_inst_retire_rob = nb_inst_retire_rob ;124 // _nb_inst_insert_rob = nb_inst_insert_rob ; 125 // _nb_inst_retire_rob = nb_inst_retire_rob ; 126 126 127 127 _execution_unit_to_write_unit_priority = execution_unit_to_write_unit_priority; … … 139 139 140 140 _nb_execute_unit = _nb_functionnal_unit + _nb_load_store_unit; 141 142 143 _nb_thread = get_nb_thread(_nb_context, 144 _nb_front_end, 145 _nb_ooo_engine); 146 _max_nb_inst_memory = max<uint32_t>(_nb_inst_memory,_nb_load_store_unit); 141 147 142 148 ALLOC1(_nb_execute_unit_port ,uint32_t,_nb_execute_unit); … … 194 200 _max_size_store_queue = max<uint32_t>(size_store_queue,nb_load_store_unit); 195 201 _max_size_load_queue = max<uint32_t>(size_load_queue ,nb_load_store_unit); 196 197 uint32_t _nb_thread = get_nb_thread(_nb_context,198 _nb_front_end,199 _nb_ooo_engine);200 201 uint32_t _max_nb_inst_memory = max<uint32_t>(_nb_inst_memory,_nb_load_store_unit);202 202 203 203 ALLOC1(_set_read_unit_source_register_write ,std::set<uint32_t>,_nb_read_unit); … … 297 297 // } 298 298 299 // 299 // std::cout << "_set_......." << std::endl; 300 300 301 301 for (uint32_t i=0; i<_nb_read_unit; i++) … … 308 308 for (uint32_t k=0; k<_nb_thread; k++) 309 309 { 310 // 310 // std::cout << " * Thread[" << k << "]" << std::endl; 311 311 if ( (_execution_unit_to_write_unit_table_thread [j][k]) and 312 312 (_link_read_unit_with_thread [i][k])) … … 367 367 (_nb_gpr_write , 368 368 _nb_spr_write , 369 _nb_read_unit , 369 370 size_ooo_engine_id , 370 371 size_general_register , … … 518 519 _nb_general_register , 519 520 _nb_special_register , 520 _nb_inst_insert_rob , 521 _nb_inst_retire_rob ); 521 _nb_read_unit // , 522 // _nb_inst_insert_rob , 523 // _nb_inst_retire_rob 524 ); 522 525 523 526 _max_size_dcache_context_id = 0; … … 604 607 delete _param_register_unit; 605 608 606 uint32_t _nb_thread = get_nb_thread(_nb_context,607 _nb_front_end,608 _nb_ooo_engine);609 uint32_t _max_nb_inst_memory = max<uint32_t>(_nb_inst_memory,_nb_load_store_unit);610 611 609 DELETE2(_link_read_unit_with_thread ,_nb_read_unit,_nb_thread ); 612 610 DELETE2(_link_read_unit_with_write_unit ,_nb_read_unit,_nb_write_unit ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/src/Parameters_print.cpp
r88 r136 93 93 xml. singleton_begin("nb_general_register"); xml.attribut("value",toString(_nb_general_register [i])); xml.singleton_end(); 94 94 xml. singleton_begin("nb_special_register"); xml.attribut("value",toString(_nb_special_register [i])); xml.singleton_end(); 95 xml. singleton_begin("nb_inst_insert_rob "); xml.attribut("value",toString(_nb_inst_insert_rob [i])); xml.singleton_end();96 xml. singleton_begin("nb_inst_retire_rob "); xml.attribut("value",toString(_nb_inst_retire_rob [i])); xml.singleton_end();95 // xml. singleton_begin("nb_inst_insert_rob "); xml.attribut("value",toString(_nb_inst_insert_rob [i])); xml.singleton_end(); 96 // xml. singleton_begin("nb_inst_retire_rob "); xml.attribut("value",toString(_nb_inst_retire_rob [i])); xml.singleton_end(); 97 97 xml.balise_close(); 98 98 }
Note: See TracChangeset
for help on using the changeset viewer.