Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/src/Execute_loop_allocation.cpp
- Timestamp:
- Dec 10, 2008, 7:31:39 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/src/Execute_loop_allocation.cpp
r82 r88 62 62 ALLOC1_SIGNAL_IN ( in_EXECUTE_LOOP_IN_FRONT_END_ID ,"front_end_id" ,Tcontext_t ,_param->_size_front_end_id); 63 63 ALLOC1_SIGNAL_IN ( in_EXECUTE_LOOP_IN_OOO_ENGINE_ID ,"ooo_engine_id" ,Tcontext_t ,_param->_size_ooo_engine_id); 64 ALLOC1_SIGNAL_IN ( in_EXECUTE_LOOP_IN_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_ packet_id);64 ALLOC1_SIGNAL_IN ( in_EXECUTE_LOOP_IN_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_rob_ptr ); 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_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t ,_param->_ max_size_store_queue);67 ALLOC1_SIGNAL_IN ( in_EXECUTE_LOOP_IN_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t ,_param->_size_store_queue_ptr); 68 68 if (_param->_have_port_load_queue_ptr) 69 ALLOC1_SIGNAL_IN ( in_EXECUTE_LOOP_IN_LOAD_QUEUE_PTR_WRITE ,"load_queue_ptr_write" ,Tlsq_ptr_t ,_param->_ max_size_load_queue);69 ALLOC1_SIGNAL_IN ( in_EXECUTE_LOOP_IN_LOAD_QUEUE_PTR_WRITE ,"load_queue_ptr_write" ,Tlsq_ptr_t ,_param->_size_load_queue_ptr); 70 70 ALLOC1_SIGNAL_IN ( in_EXECUTE_LOOP_IN_HAS_IMMEDIAT ,"has_immediat" ,Tcontrol_t ,1); 71 71 ALLOC1_SIGNAL_IN ( in_EXECUTE_LOOP_IN_IMMEDIAT ,"immediat" ,Tgeneral_data_t ,_param->_size_general_data); … … 90 90 ALLOC1_SIGNAL_OUT(out_EXECUTE_LOOP_OUT_FRONT_END_ID ,"front_end_id" ,Tcontext_t ,_param->_size_front_end_id); 91 91 ALLOC1_SIGNAL_OUT(out_EXECUTE_LOOP_OUT_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id); 92 ALLOC1_SIGNAL_OUT(out_EXECUTE_LOOP_OUT_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_ packet_id);92 ALLOC1_SIGNAL_OUT(out_EXECUTE_LOOP_OUT_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_rob_ptr ); 93 93 // ALLOC1_SIGNAL_OUT(out_EXECUTE_LOOP_OUT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation); 94 94 // ALLOC1_SIGNAL_OUT(out_EXECUTE_LOOP_OUT_TYPE ,"type" ,Ttype_t ,_param->_size_type); … … 97 97 ALLOC1_SIGNAL_OUT(out_EXECUTE_LOOP_OUT_NO_SEQUENCE ,"no_sequence" ,Tcontrol_t ,1); 98 98 ALLOC1_SIGNAL_OUT(out_EXECUTE_LOOP_OUT_ADDRESS ,"address" ,Tgeneral_data_t,_param->_size_general_data); 99 ALLOC1_SIGNAL_OUT(out_EXECUTE_LOOP_OUT_DATA ,"data" ,Tgeneral_data_t,_param->_size_general_data); 99 100 } 100 101 // ~~~~~[ Interface "dcache_req" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101 102 { 102 ALLOC 1_INTERFACE("dcache_req",OUT, NORTH, "Data cache port : request", _param->_nb_load_store_unit);103 104 ALLOC1_VALACK_OUT(out_DCACHE_REQ_VAL,VAL);105 ALLOC1_VALACK_IN ( in_DCACHE_REQ_ACK,ACK);106 ALLOC1_SIGNAL_OUT(out_DCACHE_REQ_CONTEXT_ID,"context_id",Tcontext_t ,_param->_max_size_dcache_context_id);107 ALLOC1_SIGNAL_OUT(out_DCACHE_REQ_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_max_size_dcache_packet_id);108 ALLOC1_SIGNAL_OUT(out_DCACHE_REQ_ADDRESS ,"address" ,Tdcache_address_t,_param->_size_general_data);109 ALLOC1_SIGNAL_OUT(out_DCACHE_REQ_TYPE ,"type" ,Tdcache_type_t ,_param->_size_dcache_type);110 ALLOC1_SIGNAL_OUT(out_DCACHE_REQ_WDATA ,"wdata" ,Tdcache_data_t ,_param->_size_general_data);103 ALLOC2_INTERFACE("dcache_req",OUT, NORTH, "Data cache port : request", _param->_nb_load_store_unit, _param->_nb_cache_port[it1]); 104 105 _ALLOC2_VALACK_OUT(out_DCACHE_REQ_VAL,VAL, _param->_nb_load_store_unit, _param->_nb_cache_port[it1]); 106 _ALLOC2_VALACK_IN ( in_DCACHE_REQ_ACK,ACK, _param->_nb_load_store_unit, _param->_nb_cache_port[it1]); 107 _ALLOC2_SIGNAL_OUT(out_DCACHE_REQ_CONTEXT_ID,"context_id",Tcontext_t ,_param->_max_size_dcache_context_id, _param->_nb_load_store_unit, _param->_nb_cache_port[it1]); 108 _ALLOC2_SIGNAL_OUT(out_DCACHE_REQ_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_max_size_dcache_packet_id , _param->_nb_load_store_unit, _param->_nb_cache_port[it1]); 109 _ALLOC2_SIGNAL_OUT(out_DCACHE_REQ_ADDRESS ,"address" ,Tdcache_address_t,_param->_size_general_data , _param->_nb_load_store_unit, _param->_nb_cache_port[it1]); 110 _ALLOC2_SIGNAL_OUT(out_DCACHE_REQ_TYPE ,"type" ,Tdcache_type_t ,_param->_size_dcache_type , _param->_nb_load_store_unit, _param->_nb_cache_port[it1]); 111 _ALLOC2_SIGNAL_OUT(out_DCACHE_REQ_WDATA ,"wdata" ,Tdcache_data_t ,_param->_size_general_data , _param->_nb_load_store_unit, _param->_nb_cache_port[it1]); 111 112 } 112 113 // ~~~~~[ Interface "dcache_rsp" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 113 114 { 114 ALLOC 1_INTERFACE("dcache_rsp",IN, NORTH, "Data cache port : respons", _param->_nb_load_store_unit);115 116 ALLOC1_VALACK_IN ( in_DCACHE_RSP_VAL,VAL);117 ALLOC1_VALACK_OUT(out_DCACHE_RSP_ACK,ACK);118 ALLOC1_SIGNAL_IN ( in_DCACHE_RSP_CONTEXT_ID,"context_id",Tcontext_t ,_param->_max_size_dcache_context_id);119 ALLOC1_SIGNAL_IN ( in_DCACHE_RSP_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_max_size_dcache_packet_id);120 ALLOC1_SIGNAL_IN ( in_DCACHE_RSP_RDATA ,"rdata" ,Tdcache_data_t ,_param->_size_general_data);121 ALLOC1_SIGNAL_IN ( in_DCACHE_RSP_ERROR ,"error" ,Tdcache_error_t,_param->_size_dcache_error);115 ALLOC2_INTERFACE("dcache_rsp",IN, NORTH, "Data cache port : respons", _param->_nb_load_store_unit, _param->_nb_cache_port[it1]); 116 117 _ALLOC2_VALACK_IN ( in_DCACHE_RSP_VAL,VAL, _param->_nb_load_store_unit, _param->_nb_cache_port[it1]); 118 _ALLOC2_VALACK_OUT(out_DCACHE_RSP_ACK,ACK, _param->_nb_load_store_unit, _param->_nb_cache_port[it1]); 119 _ALLOC2_SIGNAL_IN ( in_DCACHE_RSP_CONTEXT_ID,"context_id",Tcontext_t ,_param->_max_size_dcache_context_id, _param->_nb_load_store_unit, _param->_nb_cache_port[it1]); 120 _ALLOC2_SIGNAL_IN ( in_DCACHE_RSP_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_max_size_dcache_packet_id , _param->_nb_load_store_unit, _param->_nb_cache_port[it1]); 121 _ALLOC2_SIGNAL_IN ( in_DCACHE_RSP_RDATA ,"rdata" ,Tdcache_data_t ,_param->_size_general_data , _param->_nb_load_store_unit, _param->_nb_cache_port[it1]); 122 _ALLOC2_SIGNAL_IN ( in_DCACHE_RSP_ERROR ,"error" ,Tdcache_error_t,_param->_size_dcache_error , _param->_nb_load_store_unit, _param->_nb_cache_port[it1]); 122 123 } 123 124 // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 125 { 125 ALLOC2_INTERFACE("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[ alloc_interface_it1]);126 127 _ALLOC2_VALACK_IN ( in_INSERT_ROB_VAL,VAL,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[ alloc_signal_it1]);128 _ALLOC2_VALACK_OUT(out_INSERT_ROB_ACK,ACK,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[ alloc_signal_it1]);129 130 _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RD_USE ,"rd_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[ alloc_signal_it1]);131 _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[ alloc_signal_it1]);132 _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RE_USE ,"re_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[ alloc_signal_it1]);133 _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[ alloc_signal_it1]);126 ALLOC2_INTERFACE("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]); 127 128 _ALLOC2_VALACK_IN ( in_INSERT_ROB_VAL,VAL,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]); 129 _ALLOC2_VALACK_OUT(out_INSERT_ROB_ACK,ACK,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]); 130 131 _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RD_USE ,"rd_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]); 132 _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]); 133 _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RE_USE ,"re_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]); 134 _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]); 134 135 } 135 // ~~~~~[ Interface "retire_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~136 {137 ALLOC2_INTERFACE("retire_rob",IN, EAST, "Rename's stage : retire a new instruction in the Re Order Buffer",_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_interface_it1]);138 139 _ALLOC2_VALACK_IN ( in_RETIRE_ROB_VAL,VAL,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);140 _ALLOC2_VALACK_OUT(out_RETIRE_ROB_ACK,ACK,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);141 142 _ALLOC2_SIGNAL_IN ( in_RETIRE_ROB_RD_OLD_USE ,"rd_old_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);143 _ALLOC2_SIGNAL_IN ( in_RETIRE_ROB_RD_OLD_NUM_REG,"rd_old_num_reg",Tgeneral_address_t,_param->_size_general_register,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);144 _ALLOC2_SIGNAL_IN ( in_RETIRE_ROB_RD_NEW_USE ,"rd_new_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);145 _ALLOC2_SIGNAL_IN ( in_RETIRE_ROB_RD_NEW_NUM_REG,"rd_new_num_reg",Tgeneral_address_t,_param->_size_general_register,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);146 _ALLOC2_SIGNAL_IN ( in_RETIRE_ROB_RE_OLD_USE ,"re_old_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);147 _ALLOC2_SIGNAL_IN ( in_RETIRE_ROB_RE_OLD_NUM_REG,"re_old_num_reg",Tspecial_address_t,_param->_size_special_register,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);148 _ALLOC2_SIGNAL_IN ( in_RETIRE_ROB_RE_NEW_USE ,"re_new_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);149 _ALLOC2_SIGNAL_IN ( in_RETIRE_ROB_RE_NEW_NUM_REG,"re_new_num_reg",Tspecial_address_t,_param->_size_special_register,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);150 }136 // // ~~~~~[ Interface "retire_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 137 // { 138 // ALLOC2_INTERFACE("retire_rob",IN, EAST, "Rename's stage : retire a new instruction in the Re Order Buffer",_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]); 139 140 // _ALLOC2_VALACK_IN ( in_RETIRE_ROB_VAL,VAL,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]); 141 // _ALLOC2_VALACK_OUT(out_RETIRE_ROB_ACK,ACK,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]); 142 143 // _ALLOC2_SIGNAL_IN ( in_RETIRE_ROB_RD_OLD_USE ,"rd_old_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]); 144 // _ALLOC2_SIGNAL_IN ( in_RETIRE_ROB_RD_OLD_NUM_REG,"rd_old_num_reg",Tgeneral_address_t,_param->_size_general_register,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]); 145 // _ALLOC2_SIGNAL_IN ( in_RETIRE_ROB_RD_NEW_USE ,"rd_new_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]); 146 // _ALLOC2_SIGNAL_IN ( in_RETIRE_ROB_RD_NEW_NUM_REG,"rd_new_num_reg",Tgeneral_address_t,_param->_size_general_register,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]); 147 // _ALLOC2_SIGNAL_IN ( in_RETIRE_ROB_RE_OLD_USE ,"re_old_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]); 148 // _ALLOC2_SIGNAL_IN ( in_RETIRE_ROB_RE_OLD_NUM_REG,"re_old_num_reg",Tspecial_address_t,_param->_size_special_register,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]); 149 // _ALLOC2_SIGNAL_IN ( in_RETIRE_ROB_RE_NEW_USE ,"re_new_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]); 150 // _ALLOC2_SIGNAL_IN ( in_RETIRE_ROB_RE_NEW_NUM_REG,"re_new_num_reg",Tspecial_address_t,_param->_size_special_register,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]); 151 // } 151 152 152 153 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 153 154 std::string name; 155 156 { 157 name = _name+"_glue"; 158 log_printf(INFO,Core,FUNCTION,_("Create : %s"),name.c_str()); 159 160 _component_glue = new morpheo::behavioural::core::multi_execute_loop::execute_loop::execute_loop_glue::Execute_loop_Glue 161 (name.c_str() 162 #ifdef STATISTICS 163 ,param_statistics 164 #endif 165 ,_param->_param_glue 166 ,_usage); 167 168 _component->set_component (_component_glue->_component 169 #ifdef POSITION 170 , 50, 50, 10, 10 171 #endif 172 ); 173 } 154 174 155 175 _component_read_unit = new morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::Read_unit * [_param->_nb_read_unit]; … … 157 177 { 158 178 name = _name+"_read_unit_"+toString(i); 159 std::cout << "Create : " << name << std::endl;179 log_printf(INFO,Core,FUNCTION,_("Create : %s"),name.c_str()); 160 180 161 181 _component_read_unit [i] = new morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::Read_unit … … 178 198 { 179 199 name = _name+"_functionnal_unit_"+toString(i); 180 std::cout << "Create : " << name << std::endl;200 log_printf(INFO,Core,FUNCTION,_("Create : %s"),name.c_str()); 181 201 182 202 _component_functionnal_unit [i] = new morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_execute_unit::execute_unit::functionnal_unit::Functionnal_unit … … 199 219 { 200 220 name = _name+"_load_store_unit_"+toString(i); 201 std::cout << "Create : " << name << std::endl;221 log_printf(INFO,Core,FUNCTION,_("Create : %s"),name.c_str()); 202 222 203 223 _component_load_store_unit [i] = new morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_execute_unit::execute_unit::load_store_unit::Load_store_unit … … 220 240 { 221 241 name = _name+"_write_unit_"+toString(i); 222 std::cout << "Create : " << name << std::endl;242 log_printf(INFO,Core,FUNCTION,_("Create : %s"),name.c_str()); 223 243 224 244 _component_write_unit [i] = new morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_write_unit::write_unit::Write_unit … … 239 259 { 240 260 name = _name+"_read_unit_to_execution_unit"; 241 std::cout << "Create : " << name << std::endl;261 log_printf(INFO,Core,FUNCTION,_("Create : %s"),name.c_str()); 242 262 243 263 _component_read_unit_to_execution_unit = new morpheo::behavioural::core::multi_execute_loop::execute_loop::network::read_unit_to_execution_unit::Read_unit_to_Execution_unit … … 258 278 { 259 279 name = _name+"_execution_unit_to_write_unit"; 260 std::cout << "Create : " << name << std::endl;280 log_printf(INFO,Core,FUNCTION,_("Create : %s"),name.c_str()); 261 281 262 282 _component_execution_unit_to_write_unit = new morpheo::behavioural::core::multi_execute_loop::execute_loop::network::execution_unit_to_write_unit::Execution_unit_to_Write_unit … … 277 297 { 278 298 name = _name+"_register_unit"; 279 std::cout << "Create : " << name << std::endl;299 log_printf(INFO,Core,FUNCTION,_("Create : %s"),name.c_str()); 280 300 281 301 _component_register_unit = new morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::Register_unit … … 296 316 // ~~~~~[ Instanciation ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 317 std::string src,dest; 318 319 // =================================================================== 320 // =====[ GLUE ]====================================================== 321 // =================================================================== 322 { 323 src = _name+"_glue"; 324 log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str()); 325 326 { 327 dest = _name; 328 #ifdef POSITION 329 _component->interface_map (src ,"", 330 dest,""); 331 #endif 332 PORT_MAP(_component ,src , "in_CLOCK" ,dest, "in_CLOCK"); 333 PORT_MAP(_component ,src , "in_NRESET",dest, "in_NRESET"); 334 } 335 336 for (uint32_t i=0; i<_param->_nb_gpr_write; i++) 337 { 338 { 339 dest = _name+"_write_unit_"+toString(i); 340 341 #ifdef POSITION 342 _component->interface_map (src ,"gpr_write_write_unit_"+toString(i), 343 dest,"gpr_write"); 344 #endif 345 346 // in_GPR_WRITE_WRITE_UNIT_VAL 347 // out_GPR_WRITE_WRITE_UNIT_ACK 348 // in_GPR_WRITE_WRITE_UNIT_OOO_ENGINE_ID 349 // in_GPR_WRITE_WRITE_UNIT_NUM_REG 350 // in_GPR_WRITE_WRITE_UNIT_DATA 351 } 352 353 { 354 dest = _name+"_register_unit"; 355 356 #ifdef POSITION 357 _component->interface_map (src ,"gpr_write_register_file_"+toString(i), 358 dest,"gpr_write_"+toString(i)); 359 #endif 360 // out_GPR_WRITE_REGISTER_FILE_VAL 361 // in_GPR_WRITE_REGISTER_FILE_ACK 362 // out_GPR_WRITE_REGISTER_FILE_OOO_ENGINE_ID 363 // out_GPR_WRITE_REGISTER_FILE_NUM_REG 364 // out_GPR_WRITE_REGISTER_FILE_DATA 365 } 366 367 { 368 dest = _name+"_read_unit_0"; 369 370 #ifdef POSITION 371 _component->interface_map (src ,"gpr_write_read_unit_"+toString(i), 372 dest,"gpr_write"); 373 #endif 374 375 // out_GPR_WRITE_READ_UNIT_VAL 376 // out_GPR_WRITE_READ_UNIT_OOO_ENGINE_ID 377 // out_GPR_WRITE_READ_UNIT_NUM_REG 378 // out_GPR_WRITE_READ_UNIT_DATA 379 } 380 } 381 382 for (uint32_t i=0; i<_param->_nb_spr_write; i++) 383 { 384 { 385 dest = _name+"_write_unit_"+toString(i); 386 387 #ifdef POSITION 388 _component->interface_map (src ,"spr_write_write_unit_"+toString(i), 389 dest,"spr_write"); 390 #endif 391 392 // in_SPR_WRITE_WRITE_UNIT_VAL 393 // out_SPR_WRITE_WRITE_UNIT_ACK 394 // in_SPR_WRITE_WRITE_UNIT_OOO_ENGINE_ID 395 // in_SPR_WRITE_WRITE_UNIT_NUM_REG 396 // in_SPR_WRITE_WRITE_UNIT_DATA 397 } 398 399 { 400 dest = _name+"_register_unit"; 401 402 #ifdef POSITION 403 _component->interface_map (src ,"spr_write_register_file_"+toString(i), 404 dest,"spr_write_"+toString(i)); 405 #endif 406 // out_SPR_WRITE_REGISTER_FILE_VAL 407 // in_SPR_WRITE_REGISTER_FILE_ACK 408 // out_SPR_WRITE_REGISTER_FILE_OOO_ENGINE_ID 409 // out_SPR_WRITE_REGISTER_FILE_NUM_REG 410 // out_SPR_WRITE_REGISTER_FILE_DATA 411 } 412 413 { 414 dest = _name+"_read_unit_0"; 415 416 #ifdef POSITION 417 _component->interface_map (src ,"spr_write_read_unit_"+toString(i), 418 dest,"spr_write"); 419 #endif 420 421 // out_SPR_WRITE_READ_UNIT_VAL 422 // out_SPR_WRITE_READ_UNIT_OOO_ENGINE_ID 423 // out_SPR_WRITE_READ_UNIT_NUM_REG 424 // out_SPR_WRITE_READ_UNIT_DATA 425 } 426 } 427 428 429 } 298 430 299 431 // =================================================================== … … 306 438 { 307 439 src = _name+"_read_unit_"+toString(i); 308 std::cout << "Instance : " << src << std::endl;440 log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str()); 309 441 310 442 { … … 334 466 if (_param->_have_port_ooo_engine_id) 335 467 PORT_MAP(_component ,src , "in_READ_UNIT_IN_OOO_ENGINE_ID" ,dest , "in_EXECUTE_LOOP_IN_"+toString(i)+"_OOO_ENGINE_ID" ); 336 if (_param->_have_port_ packet_id)468 if (_param->_have_port_rob_ptr ) 337 469 PORT_MAP(_component ,src , "in_READ_UNIT_IN_PACKET_ID" ,dest , "in_EXECUTE_LOOP_IN_"+toString(i)+"_PACKET_ID" ); 338 470 PORT_MAP(_component ,src , "in_READ_UNIT_IN_OPERATION" ,dest , "in_EXECUTE_LOOP_IN_"+toString(i)+"_OPERATION" ); … … 361 493 362 494 #ifdef POSITION 363 _component->interface_map (src ,"read_unit_"+toString( i),495 _component->interface_map (src ,"read_unit_"+toString(j), 364 496 dest,"read_unit_"+toString(it_read_unit_out)); 365 497 #endif 366 498 367 PORT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(i)+"_VAL" ,368 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_VAL" );369 PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(i)+"_ACK" ,370 dest,"out_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_ACK" );499 COMPONENT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(j )+"_VAL" , 500 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_"+toString(j)+"_VAL" ); 501 COMPONENT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(j )+"_ACK" , 502 dest,"out_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_"+toString(j)+"_ACK" ); 371 503 if (_param->_have_port_context_id) 372 PORT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(i)+"_CONTEXT_ID" ,373 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_CONTEXT_ID" );504 COMPONENT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(j )+"_CONTEXT_ID" , 505 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_"+toString(j)+"_CONTEXT_ID" ); 374 506 if (_param->_have_port_front_end_id) 375 PORT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(i)+"_FRONT_END_ID" ,376 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_FRONT_END_ID" );507 COMPONENT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(j )+"_FRONT_END_ID" , 508 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_"+toString(j)+"_FRONT_END_ID" ); 377 509 if (_param->_have_port_ooo_engine_id) 378 PORT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(i)+"_OOO_ENGINE_ID" ,379 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_OOO_ENGINE_ID" );380 if (_param->_have_port_ packet_id)381 PORT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(i)+"_PACKET_ID" ,382 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_PACKET_ID" );383 PORT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(i)+"_OPERATION" ,384 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_OPERATION" );385 PORT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(i)+"_TYPE" ,386 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_TYPE" );387 PORT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(i)+"_STORE_QUEUE_PTR_WRITE",388 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_STORE_QUEUE_PTR_WRITE");510 COMPONENT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(j )+"_OOO_ENGINE_ID" , 511 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_"+toString(j)+"_OOO_ENGINE_ID" ); 512 if (_param->_have_port_rob_ptr ) 513 COMPONENT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(j )+"_PACKET_ID" , 514 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_"+toString(j)+"_PACKET_ID" ); 515 COMPONENT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(j )+"_OPERATION" , 516 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_"+toString(j)+"_OPERATION" ); 517 COMPONENT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(j )+"_TYPE" , 518 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_"+toString(j)+"_TYPE" ); 519 COMPONENT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(j )+"_STORE_QUEUE_PTR_WRITE", 520 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_"+toString(j)+"_STORE_QUEUE_PTR_WRITE"); 389 521 if (_param->_have_port_load_queue_ptr) 390 PORT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(i)+"_LOAD_QUEUE_PTR_WRITE" ,391 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_LOAD_QUEUE_PTR_WRITE" );392 PORT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(i)+"_HAS_IMMEDIAT" ,393 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_HAS_IMMEDIAT" );394 PORT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(i)+"_IMMEDIAT" ,395 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_IMMEDIAT" );396 PORT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(i)+"_DATA_RA" ,397 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_DATA_RA" );398 PORT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(i)+"_DATA_RB" ,399 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_DATA_RB" );400 PORT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(i)+"_DATA_RC" ,401 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_DATA_RC" );402 PORT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(i)+"_WRITE_RD" ,403 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_WRITE_RD" );404 PORT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(i)+"_NUM_REG_RD" ,405 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_NUM_REG_RD" );406 PORT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(i)+"_WRITE_RE" ,407 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_WRITE_RE" );408 PORT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(i)+"_NUM_REG_RE" ,409 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_NUM_REG_RE" );522 COMPONENT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(j )+"_LOAD_QUEUE_PTR_WRITE" , 523 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_"+toString(j)+"_LOAD_QUEUE_PTR_WRITE" ); 524 COMPONENT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(j )+"_HAS_IMMEDIAT" , 525 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_"+toString(j)+"_HAS_IMMEDIAT" ); 526 COMPONENT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(j )+"_IMMEDIAT" , 527 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_"+toString(j)+"_IMMEDIAT" ); 528 COMPONENT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(j )+"_DATA_RA" , 529 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_"+toString(j)+"_DATA_RA" ); 530 COMPONENT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(j )+"_DATA_RB" , 531 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_"+toString(j)+"_DATA_RB" ); 532 COMPONENT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(j )+"_DATA_RC" , 533 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_"+toString(j)+"_DATA_RC" ); 534 COMPONENT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(j )+"_WRITE_RD" , 535 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_"+toString(j)+"_WRITE_RD" ); 536 COMPONENT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(j )+"_NUM_REG_RD" , 537 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_"+toString(j)+"_NUM_REG_RD" ); 538 COMPONENT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(j )+"_WRITE_RE" , 539 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_"+toString(j)+"_WRITE_RE" ); 540 COMPONENT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(j )+"_NUM_REG_RE" , 541 dest, "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_"+toString(j)+"_NUM_REG_RE" ); 410 542 411 it_read_unit_out ++;412 543 } 544 it_read_unit_out ++; 413 545 414 546 // ~~~~~[ Interface "gpr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 421 553 dest,"gpr_read_"+toString(2*i+1)); 422 554 #endif 423 PORT_MAP(_component ,src ,"out_GPR_READ_0_VAL" , dest, "in_GPR_READ_"+toString(2*i )+"_VAL" );424 PORT_MAP(_component ,src , "in_GPR_READ_0_ACK" , dest,"out_GPR_READ_"+toString(2*i )+"_ACK" );555 COMPONENT_MAP(_component ,src ,"out_GPR_READ_0_VAL" , dest, "in_GPR_READ_"+toString(2*i )+"_VAL" ); 556 COMPONENT_MAP(_component ,src , "in_GPR_READ_0_ACK" , dest,"out_GPR_READ_"+toString(2*i )+"_ACK" ); 425 557 if (_param->_have_port_ooo_engine_id) 426 PORT_MAP(_component ,src ,"out_GPR_READ_0_OOO_ENGINE_ID", dest, "in_GPR_READ_"+toString(2*i )+"_OOO_ENGINE_ID");427 PORT_MAP(_component ,src ,"out_GPR_READ_0_NUM_REG" , dest, "in_GPR_READ_"+toString(2*i )+"_NUM_REG" );428 PORT_MAP(_component ,src , "in_GPR_READ_0_DATA" , dest,"out_GPR_READ_"+toString(2*i )+"_DATA" );429 PORT_MAP(_component ,src , "in_GPR_READ_0_DATA_VAL" , dest,"out_GPR_READ_"+toString(2*i )+"_DATA_VAL" );430 PORT_MAP(_component ,src ,"out_GPR_READ_1_VAL" , dest, "in_GPR_READ_"+toString(2*i+1)+"_VAL" );431 PORT_MAP(_component ,src , "in_GPR_READ_1_ACK" , dest,"out_GPR_READ_"+toString(2*i+1)+"_ACK" );558 COMPONENT_MAP(_component ,src ,"out_GPR_READ_0_OOO_ENGINE_ID", dest, "in_GPR_READ_"+toString(2*i )+"_OOO_ENGINE_ID"); 559 COMPONENT_MAP(_component ,src ,"out_GPR_READ_0_NUM_REG" , dest, "in_GPR_READ_"+toString(2*i )+"_NUM_REG" ); 560 COMPONENT_MAP(_component ,src , "in_GPR_READ_0_DATA" , dest,"out_GPR_READ_"+toString(2*i )+"_DATA" ); 561 COMPONENT_MAP(_component ,src , "in_GPR_READ_0_DATA_VAL" , dest,"out_GPR_READ_"+toString(2*i )+"_DATA_VAL" ); 562 COMPONENT_MAP(_component ,src ,"out_GPR_READ_1_VAL" , dest, "in_GPR_READ_"+toString(2*i+1)+"_VAL" ); 563 COMPONENT_MAP(_component ,src , "in_GPR_READ_1_ACK" , dest,"out_GPR_READ_"+toString(2*i+1)+"_ACK" ); 432 564 if (_param->_have_port_ooo_engine_id) 433 PORT_MAP(_component ,src ,"out_GPR_READ_1_OOO_ENGINE_ID", dest, "in_GPR_READ_"+toString(2*i+1)+"_OOO_ENGINE_ID");434 PORT_MAP(_component ,src ,"out_GPR_READ_1_NUM_REG" , dest, "in_GPR_READ_"+toString(2*i+1)+"_NUM_REG" );435 PORT_MAP(_component ,src , "in_GPR_READ_1_DATA" , dest,"out_GPR_READ_"+toString(2*i+1)+"_DATA" );436 PORT_MAP(_component ,src , "in_GPR_READ_1_DATA_VAL" , dest,"out_GPR_READ_"+toString(2*i+1)+"_DATA_VAL" );565 COMPONENT_MAP(_component ,src ,"out_GPR_READ_1_OOO_ENGINE_ID", dest, "in_GPR_READ_"+toString(2*i+1)+"_OOO_ENGINE_ID"); 566 COMPONENT_MAP(_component ,src ,"out_GPR_READ_1_NUM_REG" , dest, "in_GPR_READ_"+toString(2*i+1)+"_NUM_REG" ); 567 COMPONENT_MAP(_component ,src , "in_GPR_READ_1_DATA" , dest,"out_GPR_READ_"+toString(2*i+1)+"_DATA" ); 568 COMPONENT_MAP(_component ,src , "in_GPR_READ_1_DATA_VAL" , dest,"out_GPR_READ_"+toString(2*i+1)+"_DATA_VAL" ); 437 569 } 438 570 … … 442 574 #ifdef POSITION 443 575 _component->interface_map (src ,"spr_read_0", 444 dest,"spr_read_"+toString( 2*i));445 #endif 446 PORT_MAP(_component ,src ,"out_SPR_READ_0_VAL" , dest, "in_SPR_READ_"+toString(2*i)+"_VAL" );447 PORT_MAP(_component ,src , "in_SPR_READ_0_ACK" , dest,"out_SPR_READ_"+toString(2*i)+"_ACK" );576 dest,"spr_read_"+toString(i)); 577 #endif 578 COMPONENT_MAP(_component ,src ,"out_SPR_READ_0_VAL" , dest, "in_SPR_READ_"+toString(i)+"_VAL" ); 579 COMPONENT_MAP(_component ,src , "in_SPR_READ_0_ACK" , dest,"out_SPR_READ_"+toString(i)+"_ACK" ); 448 580 if (_param->_have_port_ooo_engine_id) 449 PORT_MAP(_component ,src ,"out_SPR_READ_0_OOO_ENGINE_ID", dest, "in_SPR_READ_"+toString(2*i)+"_OOO_ENGINE_ID");450 PORT_MAP(_component ,src ,"out_SPR_READ_0_NUM_REG" , dest, "in_SPR_READ_"+toString(2*i)+"_NUM_REG" );451 PORT_MAP(_component ,src , "in_SPR_READ_0_DATA" , dest,"out_SPR_READ_"+toString(2*i)+"_DATA" );452 PORT_MAP(_component ,src , "in_SPR_READ_0_DATA_VAL" , dest,"out_SPR_READ_"+toString(2*i)+"_DATA_VAL" );581 COMPONENT_MAP(_component ,src ,"out_SPR_READ_0_OOO_ENGINE_ID", dest, "in_SPR_READ_"+toString(i)+"_OOO_ENGINE_ID"); 582 COMPONENT_MAP(_component ,src ,"out_SPR_READ_0_NUM_REG" , dest, "in_SPR_READ_"+toString(i)+"_NUM_REG" ); 583 COMPONENT_MAP(_component ,src , "in_SPR_READ_0_DATA" , dest,"out_SPR_READ_"+toString(i)+"_DATA" ); 584 COMPONENT_MAP(_component ,src , "in_SPR_READ_0_DATA_VAL" , dest,"out_SPR_READ_"+toString(i)+"_DATA_VAL" ); 453 585 } 454 586 … … 459 591 it++) 460 592 { 461 dest = _name+"_write_unit_"+toString(*it); 593 uint32_t num_port = (*it); 594 595 dest = _name+"_glue"; 462 596 #ifdef POSITION 463 597 _component->interface_map (src ,"gpr_write_"+toString(it_gpr_write), 464 dest,"gpr_write ");598 dest,"gpr_write_read_unit_"+toString(num_port)); 465 599 #endif 466 600 467 PORT_MAP(_component ,src , "in_GPR_WRITE_"+toString(it_gpr_write)+"_VAL" ,468 dest,"out_GPR_WRITE_0_VAL" );601 COMPONENT_MAP(_component ,src , "in_GPR_WRITE_"+toString(it_gpr_write)+"_VAL" , 602 dest,"out_GPR_WRITE_READ_UNIT_"+toString(num_port)+"_VAL" ); 469 603 if (_param->_have_port_ooo_engine_id) 470 PORT_MAP(_component ,src , "in_GPR_WRITE_"+toString(it_gpr_write)+"_OOO_ENGINE_ID", 471 dest,"out_GPR_WRITE_0_OOO_ENGINE_ID"); 472 PORT_MAP(_component ,src , "in_GPR_WRITE_"+toString(it_gpr_write)+"_NUM_REG" , 473 dest,"out_GPR_WRITE_0_NUM_REG" ); 474 PORT_MAP(_component ,src , "in_GPR_WRITE_"+toString(it_gpr_write)+"_DATA" , 475 dest,"out_GPR_WRITE_0_DATA" ); 476 477 // PORT MAP to the "write_unit" component 478 #ifdef POSITION 479 _component->interface_map (dest,"gpr_write", 480 src ,"gpr_write_"+toString(it_gpr_write)); 481 #endif 482 483 PORT_MAP(_component ,dest,"out_GPR_WRITE_0_VAL" , 484 src , "in_GPR_WRITE_"+toString(it_gpr_write)+"_VAL" ); 485 if (_param->_have_port_ooo_engine_id) 486 PORT_MAP(_component ,dest,"out_GPR_WRITE_0_OOO_ENGINE_ID", 487 src , "in_GPR_WRITE_"+toString(it_gpr_write)+"_OOO_ENGINE_ID"); 488 PORT_MAP(_component ,dest,"out_GPR_WRITE_0_NUM_REG" , 489 src , "in_GPR_WRITE_"+toString(it_gpr_write)+"_NUM_REG" ); 490 PORT_MAP(_component ,dest,"out_GPR_WRITE_0_DATA" , 491 src , "in_GPR_WRITE_"+toString(it_gpr_write)+"_DATA" ); 604 COMPONENT_MAP(_component ,src , "in_GPR_WRITE_"+toString(it_gpr_write)+"_OOO_ENGINE_ID", 605 dest,"out_GPR_WRITE_READ_UNIT_"+toString(num_port)+"_OOO_ENGINE_ID"); 606 COMPONENT_MAP(_component ,src , "in_GPR_WRITE_"+toString(it_gpr_write)+"_NUM_REG" , 607 dest,"out_GPR_WRITE_READ_UNIT_"+toString(num_port)+"_NUM_REG" ); 608 COMPONENT_MAP(_component ,src , "in_GPR_WRITE_"+toString(it_gpr_write)+"_DATA" , 609 dest,"out_GPR_WRITE_READ_UNIT_"+toString(num_port)+"_DATA" ); 492 610 493 611 it_gpr_write ++; … … 500 618 it++) 501 619 { 502 dest = _name+"_write_unit_"+toString(*it); 620 uint32_t num_port = (*it); 621 622 dest = _name+"_glue"; 503 623 #ifdef POSITION 504 624 _component->interface_map (src ,"spr_write_"+toString(it_spr_write), 505 dest,"spr_write ");625 dest,"spr_write_read_unit_"+toString(num_port)); 506 626 #endif 507 627 508 PORT_MAP(_component ,src , "in_SPR_WRITE_"+toString(it_spr_write)+"_VAL" , 509 dest,"out_SPR_WRITE_0_VAL" ); 628 COMPONENT_MAP(_component ,src , "in_SPR_WRITE_"+toString(it_spr_write)+"_VAL" , 629 dest,"out_SPR_WRITE_READ_UNIT_"+toString(num_port)+"_VAL" ); 630 510 631 if (_param->_have_port_ooo_engine_id) 511 PORT_MAP(_component ,src , "in_SPR_WRITE_"+toString(it_spr_write)+"_OOO_ENGINE_ID", 512 dest,"out_SPR_WRITE_0_OOO_ENGINE_ID"); 513 PORT_MAP(_component ,src , "in_SPR_WRITE_"+toString(it_spr_write)+"_NUM_REG" , 514 dest,"out_SPR_WRITE_0_NUM_REG" ); 515 PORT_MAP(_component ,src , "in_SPR_WRITE_"+toString(it_spr_write)+"_DATA" , 516 dest,"out_SPR_WRITE_0_DATA" ); 517 518 // PORT MAP to the "write_unit" component 519 #ifdef POSITION 520 _component->interface_map (dest,"spr_write", 521 src ,"spr_write_"+toString(it_spr_write)); 522 #endif 523 PORT_MAP(_component ,dest,"out_SPR_WRITE_0_VAL" , 524 src , "in_SPR_WRITE_"+toString(it_spr_write)+"_VAL" ); 525 if (_param->_have_port_ooo_engine_id) 526 PORT_MAP(_component ,dest,"out_SPR_WRITE_0_OOO_ENGINE_ID", 527 src , "in_SPR_WRITE_"+toString(it_spr_write)+"_OOO_ENGINE_ID"); 528 PORT_MAP(_component ,dest,"out_SPR_WRITE_0_NUM_REG" , 529 src , "in_SPR_WRITE_"+toString(it_spr_write)+"_NUM_REG" ); 530 PORT_MAP(_component ,dest,"out_SPR_WRITE_0_DATA" , 531 src , "in_SPR_WRITE_"+toString(it_spr_write)+"_DATA" ); 532 632 COMPONENT_MAP(_component ,src , "in_SPR_WRITE_"+toString(it_spr_write)+"_OOO_ENGINE_ID", 633 dest,"out_SPR_WRITE_READ_UNIT_"+toString(num_port)+"_OOO_ENGINE_ID"); 634 COMPONENT_MAP(_component ,src , "in_SPR_WRITE_"+toString(it_spr_write)+"_NUM_REG" , 635 dest,"out_SPR_WRITE_READ_UNIT_"+toString(num_port)+"_NUM_REG" ); 636 COMPONENT_MAP(_component ,src , "in_SPR_WRITE_"+toString(it_spr_write)+"_DATA" , 637 dest,"out_SPR_WRITE_READ_UNIT_"+toString(num_port)+"_DATA" ); 638 533 639 it_spr_write ++; 534 640 } … … 550 656 551 657 if (_param->_have_port_ooo_engine_id) 552 PORT_MAP(_component ,src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_OOO_ENGINE_ID",553 dest,"out_BYPASS_WRITE_"+toString(j )+"_OOO_ENGINE_ID");554 PORT_MAP(_component ,src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_GPR_VAL" ,555 dest,"out_BYPASS_WRITE_"+toString(j )+"_GPR_VAL" );556 PORT_MAP(_component ,src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_GPR_NUM_REG" ,557 dest,"out_BYPASS_WRITE_"+toString(j )+"_GPR_NUM_REG" );558 PORT_MAP(_component ,src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_GPR_DATA" ,559 dest,"out_BYPASS_WRITE_"+toString(j )+"_GPR_DATA" );560 PORT_MAP(_component ,src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_SPR_VAL" ,561 dest,"out_BYPASS_WRITE_"+toString(j )+"_SPR_VAL" );562 PORT_MAP(_component ,src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_SPR_NUM_REG" ,563 dest,"out_BYPASS_WRITE_"+toString(j )+"_SPR_NUM_REG" );564 PORT_MAP(_component ,src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_SPR_DATA" ,565 dest,"out_BYPASS_WRITE_"+toString(j )+"_SPR_DATA" );658 COMPONENT_MAP(_component ,src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_OOO_ENGINE_ID", 659 dest,"out_BYPASS_WRITE_"+toString(j )+"_OOO_ENGINE_ID"); 660 COMPONENT_MAP(_component ,src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_GPR_VAL" , 661 dest,"out_BYPASS_WRITE_"+toString(j )+"_GPR_VAL" ); 662 COMPONENT_MAP(_component ,src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_GPR_NUM_REG" , 663 dest,"out_BYPASS_WRITE_"+toString(j )+"_GPR_NUM_REG" ); 664 COMPONENT_MAP(_component ,src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_GPR_DATA" , 665 dest,"out_BYPASS_WRITE_"+toString(j )+"_GPR_DATA" ); 666 COMPONENT_MAP(_component ,src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_SPR_VAL" , 667 dest,"out_BYPASS_WRITE_"+toString(j )+"_SPR_VAL" ); 668 COMPONENT_MAP(_component ,src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_SPR_NUM_REG" , 669 dest,"out_BYPASS_WRITE_"+toString(j )+"_SPR_NUM_REG" ); 670 COMPONENT_MAP(_component ,src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_SPR_DATA" , 671 dest,"out_BYPASS_WRITE_"+toString(j )+"_SPR_DATA" ); 566 672 567 673 #ifdef POSITION … … 570 676 #endif 571 677 572 if (_param->_have_port_ooo_engine_id)573 PORT_MAP(_component ,dest,"out_BYPASS_WRITE_"+toString(j )+"_OOO_ENGINE_ID",574 src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_OOO_ENGINE_ID");575 PORT_MAP(_component ,dest,"out_BYPASS_WRITE_"+toString(j )+"_GPR_VAL" ,576 src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_GPR_VAL" );577 PORT_MAP(_component ,dest,"out_BYPASS_WRITE_"+toString(j )+"_GPR_NUM_REG" ,578 src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_GPR_NUM_REG" );579 PORT_MAP(_component ,dest,"out_BYPASS_WRITE_"+toString(j )+"_GPR_DATA" ,580 src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_GPR_DATA" );581 PORT_MAP(_component ,dest,"out_BYPASS_WRITE_"+toString(j )+"_SPR_VAL" ,582 src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_SPR_VAL" );583 PORT_MAP(_component ,dest,"out_BYPASS_WRITE_"+toString(j )+"_SPR_NUM_REG" ,584 src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_SPR_NUM_REG" );585 PORT_MAP(_component ,dest,"out_BYPASS_WRITE_"+toString(j )+"_SPR_DATA" ,586 src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_SPR_DATA" );678 // if (_param->_have_port_ooo_engine_id) 679 // PORT_MAP(_component ,dest,"out_BYPASS_WRITE_"+toString(j )+"_OOO_ENGINE_ID", 680 // src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_OOO_ENGINE_ID"); 681 // PORT_MAP(_component ,dest,"out_BYPASS_WRITE_"+toString(j )+"_GPR_VAL" , 682 // src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_GPR_VAL" ); 683 // PORT_MAP(_component ,dest,"out_BYPASS_WRITE_"+toString(j )+"_GPR_NUM_REG" , 684 // src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_GPR_NUM_REG" ); 685 // PORT_MAP(_component ,dest,"out_BYPASS_WRITE_"+toString(j )+"_GPR_DATA" , 686 // src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_GPR_DATA" ); 687 // PORT_MAP(_component ,dest,"out_BYPASS_WRITE_"+toString(j )+"_SPR_VAL" , 688 // src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_SPR_VAL" ); 689 // PORT_MAP(_component ,dest,"out_BYPASS_WRITE_"+toString(j )+"_SPR_NUM_REG" , 690 // src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_SPR_NUM_REG" ); 691 // PORT_MAP(_component ,dest,"out_BYPASS_WRITE_"+toString(j )+"_SPR_DATA" , 692 // src , "in_BYPASS_WRITE_"+toString(it_bypass_write)+"_SPR_DATA" ); 587 693 588 694 it_bypass_write ++; … … 606 712 607 713 if (_param->_have_port_ooo_engine_id) 608 PORT_MAP(_component ,src , "in_BYPASS_MEMORY_"+toString(it_bypass_memory)+"_OOO_ENGINE_ID",609 dest,"out_BYPASS_MEMORY_"+toString(j )+"_OOO_ENGINE_ID");610 PORT_MAP(_component ,src , "in_BYPASS_MEMORY_"+toString(it_bypass_memory)+"_VAL" ,611 dest,"out_BYPASS_MEMORY_"+toString(j )+"_VAL" );612 PORT_MAP(_component ,src , "in_BYPASS_MEMORY_"+toString(it_bypass_memory)+"_NUM_REG" ,613 dest,"out_BYPASS_MEMORY_"+toString(j )+"_NUM_REG" );614 PORT_MAP(_component ,src , "in_BYPASS_MEMORY_"+toString(it_bypass_memory)+"_DATA" ,615 714 COMPONENT_MAP(_component ,src , "in_BYPASS_MEMORY_"+toString(it_bypass_memory)+"_OOO_ENGINE_ID", 715 dest,"out_BYPASS_MEMORY_"+toString(j )+"_OOO_ENGINE_ID"); 716 COMPONENT_MAP(_component ,src , "in_BYPASS_MEMORY_"+toString(it_bypass_memory)+"_VAL" , 717 dest,"out_BYPASS_MEMORY_"+toString(j )+"_VAL" ); 718 COMPONENT_MAP(_component ,src , "in_BYPASS_MEMORY_"+toString(it_bypass_memory)+"_NUM_REG" , 719 dest,"out_BYPASS_MEMORY_"+toString(j )+"_NUM_REG" ); 720 COMPONENT_MAP(_component ,src , "in_BYPASS_MEMORY_"+toString(it_bypass_memory)+"_DATA" , 721 dest,"out_BYPASS_MEMORY_"+toString(j )+"_DATA" ); 616 722 617 723 // port map to the "load_store_unit" component … … 621 727 #endif 622 728 623 if (_param->_have_port_ooo_engine_id)624 PORT_MAP(_component ,dest,"out_BYPASS_MEMORY_"+toString(j )+"_OOO_ENGINE_ID",625 src , "in_BYPASS_MEMORY_"+toString(it_bypass_memory)+"_OOO_ENGINE_ID");626 PORT_MAP(_component ,dest,"out_BYPASS_MEMORY_"+toString(j )+"_VAL" ,627 src , "in_BYPASS_MEMORY_"+toString(it_bypass_memory)+"_VAL" );628 PORT_MAP(_component ,dest,"out_BYPASS_MEMORY_"+toString(j )+"_NUM_REG" ,629 src , "in_BYPASS_MEMORY_"+toString(it_bypass_memory)+"_NUM_REG" );630 PORT_MAP(_component ,dest,"out_BYPASS_MEMORY_"+toString(j )+"_DATA" ,631 src , "in_BYPASS_MEMORY_"+toString(it_bypass_memory)+"_DATA" );729 // if (_param->_have_port_ooo_engine_id) 730 // PORT_MAP(_component ,dest,"out_BYPASS_MEMORY_"+toString(j )+"_OOO_ENGINE_ID", 731 // src , "in_BYPASS_MEMORY_"+toString(it_bypass_memory)+"_OOO_ENGINE_ID"); 732 // PORT_MAP(_component ,dest,"out_BYPASS_MEMORY_"+toString(j )+"_VAL" , 733 // src , "in_BYPASS_MEMORY_"+toString(it_bypass_memory)+"_VAL" ); 734 // PORT_MAP(_component ,dest,"out_BYPASS_MEMORY_"+toString(j )+"_NUM_REG" , 735 // src , "in_BYPASS_MEMORY_"+toString(it_bypass_memory)+"_NUM_REG" ); 736 // PORT_MAP(_component ,dest,"out_BYPASS_MEMORY_"+toString(j )+"_DATA" , 737 // src , "in_BYPASS_MEMORY_"+toString(it_bypass_memory)+"_DATA" ); 632 738 633 739 it_bypass_memory ++; … … 651 757 652 758 src = _name+"_functionnal_unit_"+toString(x); 653 std::cout << "Instance : " << src << std::endl;759 log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str()); 654 760 655 761 { … … 669 775 #ifdef POSITION 670 776 _component->interface_map (src ,"execute_in", 671 dest,"execute_unit_in_"+toString(i) );672 #endif 673 674 PORT_MAP(_component ,src , "in_EXECUTE_IN_VAL" ,675 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_VAL" );676 PORT_MAP(_component ,src ,"out_EXECUTE_IN_ACK" ,677 dest, "in_EXECUTE_UNIT_IN_"+toString(i)+"_ACK" );777 dest,"execute_unit_in_"+toString(i)+"_0"); 778 #endif 779 780 COMPONENT_MAP(_component ,src , "in_EXECUTE_IN_VAL" , 781 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_0_VAL" ); 782 COMPONENT_MAP(_component ,src ,"out_EXECUTE_IN_ACK" , 783 dest, "in_EXECUTE_UNIT_IN_"+toString(i)+"_0_ACK" ); 678 784 if (_param->_have_port_context_id) 679 PORT_MAP(_component ,src , "in_EXECUTE_IN_CONTEXT_ID" ,680 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_CONTEXT_ID" );785 COMPONENT_MAP(_component ,src , "in_EXECUTE_IN_CONTEXT_ID" , 786 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_0_CONTEXT_ID" ); 681 787 if (_param->_have_port_front_end_id) 682 PORT_MAP(_component ,src , "in_EXECUTE_IN_FRONT_END_ID" ,683 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_FRONT_END_ID" );788 COMPONENT_MAP(_component ,src , "in_EXECUTE_IN_FRONT_END_ID" , 789 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_0_FRONT_END_ID" ); 684 790 if (_param->_have_port_ooo_engine_id) 685 PORT_MAP(_component ,src , "in_EXECUTE_IN_OOO_ENGINE_ID" ,686 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_OOO_ENGINE_ID" );687 if (_param->_have_port_ packet_id)688 PORT_MAP(_component ,src , "in_EXECUTE_IN_PACKET_ID" ,689 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_PACKET_ID" );690 PORT_MAP(_component ,src , "in_EXECUTE_IN_OPERATION" ,691 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_OPERATION" );692 PORT_MAP(_component ,src , "in_EXECUTE_IN_TYPE" ,693 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_TYPE" );694 PORT_MAP(_component ,src , "in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE",695 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_STORE_QUEUE_PTR_WRITE");791 COMPONENT_MAP(_component ,src , "in_EXECUTE_IN_OOO_ENGINE_ID" , 792 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_0_OOO_ENGINE_ID" ); 793 if (_param->_have_port_rob_ptr ) 794 COMPONENT_MAP(_component ,src , "in_EXECUTE_IN_PACKET_ID" , 795 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_0_PACKET_ID" ); 796 COMPONENT_MAP(_component ,src , "in_EXECUTE_IN_OPERATION" , 797 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_0_OPERATION" ); 798 COMPONENT_MAP(_component ,src , "in_EXECUTE_IN_TYPE" , 799 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_0_TYPE" ); 800 COMPONENT_MAP(_component ,src , "in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE", 801 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_0_STORE_QUEUE_PTR_WRITE"); 696 802 if (_param->_have_port_load_queue_ptr) 697 PORT_MAP(_component ,src , "in_EXECUTE_IN_LOAD_QUEUE_PTR_WRITE" ,698 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_LOAD_QUEUE_PTR_WRITE" );699 PORT_MAP(_component ,src , "in_EXECUTE_IN_HAS_IMMEDIAT" ,700 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_HAS_IMMEDIAT" );701 PORT_MAP(_component ,src , "in_EXECUTE_IN_IMMEDIAT" ,702 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_IMMEDIAT" );703 PORT_MAP(_component ,src , "in_EXECUTE_IN_DATA_RA" ,704 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_DATA_RA" );705 PORT_MAP(_component ,src , "in_EXECUTE_IN_DATA_RB" ,706 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_DATA_RB" );707 PORT_MAP(_component ,src , "in_EXECUTE_IN_DATA_RC" ,708 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_DATA_RC" );709 PORT_MAP(_component ,src , "in_EXECUTE_IN_WRITE_RD" ,710 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_WRITE_RD" );711 PORT_MAP(_component ,src , "in_EXECUTE_IN_NUM_REG_RD" ,712 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_NUM_REG_RD" );713 PORT_MAP(_component ,src , "in_EXECUTE_IN_WRITE_RE" ,714 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_WRITE_RE" );715 PORT_MAP(_component ,src , "in_EXECUTE_IN_NUM_REG_RE" ,716 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_NUM_REG_RE" );803 COMPONENT_MAP(_component ,src , "in_EXECUTE_IN_LOAD_QUEUE_PTR_WRITE" , 804 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_0_LOAD_QUEUE_PTR_WRITE" ); 805 COMPONENT_MAP(_component ,src , "in_EXECUTE_IN_HAS_IMMEDIAT" , 806 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_0_HAS_IMMEDIAT" ); 807 COMPONENT_MAP(_component ,src , "in_EXECUTE_IN_IMMEDIAT" , 808 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_0_IMMEDIAT" ); 809 COMPONENT_MAP(_component ,src , "in_EXECUTE_IN_DATA_RA" , 810 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_0_DATA_RA" ); 811 COMPONENT_MAP(_component ,src , "in_EXECUTE_IN_DATA_RB" , 812 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_0_DATA_RB" ); 813 COMPONENT_MAP(_component ,src , "in_EXECUTE_IN_DATA_RC" , 814 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_0_DATA_RC" ); 815 COMPONENT_MAP(_component ,src , "in_EXECUTE_IN_WRITE_RD" , 816 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_0_WRITE_RD" ); 817 COMPONENT_MAP(_component ,src , "in_EXECUTE_IN_NUM_REG_RD" , 818 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_0_NUM_REG_RD" ); 819 COMPONENT_MAP(_component ,src , "in_EXECUTE_IN_WRITE_RE" , 820 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_0_WRITE_RE" ); 821 COMPONENT_MAP(_component ,src , "in_EXECUTE_IN_NUM_REG_RE" , 822 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_0_NUM_REG_RE" ); 717 823 } 718 824 … … 723 829 #ifdef POSITION 724 830 _component->interface_map (src ,"execute_out", 725 dest,"execute_unit_out_"+toString(i) );726 #endif 727 728 PORT_MAP(_component ,src ,"out_EXECUTE_OUT_VAL" ,729 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_VAL" );730 PORT_MAP(_component ,src , "in_EXECUTE_OUT_ACK" ,731 dest,"out_EXECUTE_UNIT_OUT_"+toString(i)+"_ACK" );831 dest,"execute_unit_out_"+toString(i)+"_0"); 832 #endif 833 834 COMPONENT_MAP(_component ,src ,"out_EXECUTE_OUT_VAL" , 835 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_0_VAL" ); 836 COMPONENT_MAP(_component ,src , "in_EXECUTE_OUT_ACK" , 837 dest,"out_EXECUTE_UNIT_OUT_"+toString(i)+"_0_ACK" ); 732 838 if (_param->_have_port_context_id) 733 PORT_MAP(_component ,src ,"out_EXECUTE_OUT_CONTEXT_ID" ,734 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_CONTEXT_ID" );839 COMPONENT_MAP(_component ,src ,"out_EXECUTE_OUT_CONTEXT_ID" , 840 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_0_CONTEXT_ID" ); 735 841 if (_param->_have_port_front_end_id) 736 PORT_MAP(_component ,src ,"out_EXECUTE_OUT_FRONT_END_ID" ,737 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_FRONT_END_ID" );842 COMPONENT_MAP(_component ,src ,"out_EXECUTE_OUT_FRONT_END_ID" , 843 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_0_FRONT_END_ID" ); 738 844 if (_param->_have_port_ooo_engine_id) 739 PORT_MAP(_component ,src ,"out_EXECUTE_OUT_OOO_ENGINE_ID",740 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_OOO_ENGINE_ID");741 if (_param->_have_port_ packet_id)742 PORT_MAP(_component ,src ,"out_EXECUTE_OUT_PACKET_ID" ,743 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_PACKET_ID" );744 // PORT_MAP(_component ,src ,"out_EXECUTE_OUT_OPERATION" ,745 // dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_OPERATION" );746 PORT_MAP(_component ,src ,"out_EXECUTE_OUT_TYPE" ,747 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_TYPE" );748 PORT_MAP(_component ,src ,"out_EXECUTE_OUT_WRITE_RD" ,749 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_WRITE_RD" );750 PORT_MAP(_component ,src ,"out_EXECUTE_OUT_NUM_REG_RD" ,751 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_NUM_REG_RD" );752 PORT_MAP(_component ,src ,"out_EXECUTE_OUT_DATA_RD" ,753 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_DATA_RD" );754 PORT_MAP(_component ,src ,"out_EXECUTE_OUT_WRITE_RE" ,755 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_WRITE_RE" );756 PORT_MAP(_component ,src ,"out_EXECUTE_OUT_NUM_REG_RE" ,757 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_NUM_REG_RE" );758 PORT_MAP(_component ,src ,"out_EXECUTE_OUT_DATA_RE" ,759 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_DATA_RE" );760 PORT_MAP(_component ,src ,"out_EXECUTE_OUT_EXCEPTION" ,761 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_EXCEPTION" );762 PORT_MAP(_component ,src ,"out_EXECUTE_OUT_NO_SEQUENCE" ,763 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_NO_SEQUENCE" );764 PORT_MAP(_component ,src ,"out_EXECUTE_OUT_ADDRESS" ,765 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_ADDRESS" );845 COMPONENT_MAP(_component ,src ,"out_EXECUTE_OUT_OOO_ENGINE_ID", 846 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_0_OOO_ENGINE_ID"); 847 if (_param->_have_port_rob_ptr ) 848 COMPONENT_MAP(_component ,src ,"out_EXECUTE_OUT_PACKET_ID" , 849 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_0_PACKET_ID" ); 850 // COMPONENT_MAP(_component ,src ,"out_EXECUTE_OUT_OPERATION" , 851 // dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_0_OPERATION" ); 852 COMPONENT_MAP(_component ,src ,"out_EXECUTE_OUT_TYPE" , 853 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_0_TYPE" ); 854 COMPONENT_MAP(_component ,src ,"out_EXECUTE_OUT_WRITE_RD" , 855 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_0_WRITE_RD" ); 856 COMPONENT_MAP(_component ,src ,"out_EXECUTE_OUT_NUM_REG_RD" , 857 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_0_NUM_REG_RD" ); 858 COMPONENT_MAP(_component ,src ,"out_EXECUTE_OUT_DATA_RD" , 859 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_0_DATA_RD" ); 860 COMPONENT_MAP(_component ,src ,"out_EXECUTE_OUT_WRITE_RE" , 861 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_0_WRITE_RE" ); 862 COMPONENT_MAP(_component ,src ,"out_EXECUTE_OUT_NUM_REG_RE" , 863 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_0_NUM_REG_RE" ); 864 COMPONENT_MAP(_component ,src ,"out_EXECUTE_OUT_DATA_RE" , 865 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_0_DATA_RE" ); 866 COMPONENT_MAP(_component ,src ,"out_EXECUTE_OUT_EXCEPTION" , 867 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_0_EXCEPTION" ); 868 COMPONENT_MAP(_component ,src ,"out_EXECUTE_OUT_NO_SEQUENCE" , 869 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_0_NO_SEQUENCE" ); 870 COMPONENT_MAP(_component ,src ,"out_EXECUTE_OUT_ADDRESS" , 871 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_0_ADDRESS" ); 766 872 } 767 873 } … … 773 879 774 880 src = _name+"_load_store_unit_"+toString(x); 775 std::cout << "Instance : " << src << std::endl;881 log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str()); 776 882 777 883 // ~~~~~[ Interface "" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 787 893 788 894 // ~~~~~[ Interface "memory_in" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 789 { 790 dest = _name+"_read_unit_to_execution_unit"; 791 792 #ifdef POSITION 793 _component->interface_map (src ,"memory_in", 794 dest,"execute_unit_in_"+toString(i)); 795 #endif 796 797 PORT_MAP(_component ,src , "in_MEMORY_IN_VAL" , 798 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_VAL" ); 799 PORT_MAP(_component ,src ,"out_MEMORY_IN_ACK" , 800 dest, "in_EXECUTE_UNIT_IN_"+toString(i)+"_ACK" ); 801 if (_param->_have_port_context_id) 802 PORT_MAP(_component ,src , "in_MEMORY_IN_CONTEXT_ID" , 803 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_CONTEXT_ID" ); 804 if (_param->_have_port_front_end_id) 805 PORT_MAP(_component ,src , "in_MEMORY_IN_FRONT_END_ID" , 806 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_FRONT_END_ID" ); 807 if (_param->_have_port_ooo_engine_id) 808 PORT_MAP(_component ,src , "in_MEMORY_IN_OOO_ENGINE_ID" , 809 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_OOO_ENGINE_ID" ); 810 if (_param->_have_port_packet_id) 811 PORT_MAP(_component ,src , "in_MEMORY_IN_PACKET_ID" , 812 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_PACKET_ID" ); 813 PORT_MAP(_component ,src , "in_MEMORY_IN_OPERATION" , 814 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_OPERATION" ); 815 PORT_MAP(_component ,src , "in_MEMORY_IN_TYPE" , 816 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_TYPE" ); 817 PORT_MAP(_component ,src , "in_MEMORY_IN_STORE_QUEUE_PTR_WRITE", 818 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_STORE_QUEUE_PTR_WRITE"); 819 if (_param->_have_port_load_queue_ptr) 820 PORT_MAP(_component ,src , "in_MEMORY_IN_LOAD_QUEUE_PTR_WRITE" , 821 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_LOAD_QUEUE_PTR_WRITE" ); 822 PORT_MAP(_component ,src , "in_MEMORY_IN_HAS_IMMEDIAT" , 823 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_HAS_IMMEDIAT" ); 824 PORT_MAP(_component ,src , "in_MEMORY_IN_IMMEDIAT" , 825 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_IMMEDIAT" ); 826 PORT_MAP(_component ,src , "in_MEMORY_IN_DATA_RA" , 827 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_DATA_RA" ); 828 PORT_MAP(_component ,src , "in_MEMORY_IN_DATA_RB" , 829 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_DATA_RB" ); 830 PORT_MAP(_component ,src , "in_MEMORY_IN_DATA_RC" , 831 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_DATA_RC" ); 832 PORT_MAP(_component ,src , "in_MEMORY_IN_WRITE_RD" , 833 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_WRITE_RD" ); 834 PORT_MAP(_component ,src , "in_MEMORY_IN_NUM_REG_RD" , 835 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_NUM_REG_RD" ); 836 PORT_MAP(_component ,src , "in_MEMORY_IN_WRITE_RE" , 837 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_WRITE_RE" ); 838 PORT_MAP(_component ,src , "in_MEMORY_IN_NUM_REG_RE" , 839 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_NUM_REG_RE" ); 840 } 895 for (uint32_t j=0; j<_param->_nb_inst_memory [x]; j++) 896 { 897 dest = _name+"_read_unit_to_execution_unit"; 898 899 #ifdef POSITION 900 _component->interface_map (src ,"memory_in_"+toString(j), 901 dest,"execute_unit_in_"+toString(i)+"_"+toString(j)); 902 #endif 903 904 COMPONENT_MAP(_component ,src , "in_MEMORY_IN_"+toString(j)+"_VAL" , 905 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_"+toString(j)+"_VAL" ); 906 COMPONENT_MAP(_component ,src ,"out_MEMORY_IN_"+toString(j)+"_ACK" , 907 dest, "in_EXECUTE_UNIT_IN_"+toString(i)+"_"+toString(j)+"_ACK" ); 908 if (_param->_have_port_context_id) 909 COMPONENT_MAP(_component ,src , "in_MEMORY_IN_"+toString(j)+"_CONTEXT_ID" , 910 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_"+toString(j)+"_CONTEXT_ID" ); 911 if (_param->_have_port_front_end_id) 912 COMPONENT_MAP(_component ,src , "in_MEMORY_IN_"+toString(j)+"_FRONT_END_ID" , 913 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_"+toString(j)+"_FRONT_END_ID" ); 914 if (_param->_have_port_ooo_engine_id) 915 COMPONENT_MAP(_component ,src , "in_MEMORY_IN_"+toString(j)+"_OOO_ENGINE_ID" , 916 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_"+toString(j)+"_OOO_ENGINE_ID" ); 917 if (_param->_have_port_rob_ptr ) 918 COMPONENT_MAP(_component ,src , "in_MEMORY_IN_"+toString(j)+"_PACKET_ID" , 919 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_"+toString(j)+"_PACKET_ID" ); 920 COMPONENT_MAP(_component ,src , "in_MEMORY_IN_"+toString(j)+"_OPERATION" , 921 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_"+toString(j)+"_OPERATION" ); 922 COMPONENT_MAP(_component ,src , "in_MEMORY_IN_"+toString(j)+"_TYPE" , 923 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_"+toString(j)+"_TYPE" ); 924 COMPONENT_MAP(_component ,src , "in_MEMORY_IN_"+toString(j)+"_STORE_QUEUE_PTR_WRITE", 925 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_"+toString(j)+"_STORE_QUEUE_PTR_WRITE"); 926 if (_param->_have_port_load_queue_ptr) 927 COMPONENT_MAP(_component ,src , "in_MEMORY_IN_"+toString(j)+"_LOAD_QUEUE_PTR_WRITE" , 928 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_"+toString(j)+"_LOAD_QUEUE_PTR_WRITE" ); 929 COMPONENT_MAP(_component ,src , "in_MEMORY_IN_"+toString(j)+"_HAS_IMMEDIAT" , 930 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_"+toString(j)+"_HAS_IMMEDIAT" ); 931 COMPONENT_MAP(_component ,src , "in_MEMORY_IN_"+toString(j)+"_IMMEDIAT" , 932 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_"+toString(j)+"_IMMEDIAT" ); 933 COMPONENT_MAP(_component ,src , "in_MEMORY_IN_"+toString(j)+"_DATA_RA" , 934 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_"+toString(j)+"_DATA_RA" ); 935 COMPONENT_MAP(_component ,src , "in_MEMORY_IN_"+toString(j)+"_DATA_RB" , 936 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_"+toString(j)+"_DATA_RB" ); 937 COMPONENT_MAP(_component ,src , "in_MEMORY_IN_"+toString(j)+"_DATA_RC" , 938 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_"+toString(j)+"_DATA_RC" ); 939 COMPONENT_MAP(_component ,src , "in_MEMORY_IN_"+toString(j)+"_WRITE_RD" , 940 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_"+toString(j)+"_WRITE_RD" ); 941 COMPONENT_MAP(_component ,src , "in_MEMORY_IN_"+toString(j)+"_NUM_REG_RD" , 942 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_"+toString(j)+"_NUM_REG_RD" ); 943 COMPONENT_MAP(_component ,src , "in_MEMORY_IN_"+toString(j)+"_WRITE_RE" , 944 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_"+toString(j)+"_WRITE_RE" ); 945 COMPONENT_MAP(_component ,src , "in_MEMORY_IN_"+toString(j)+"_NUM_REG_RE" , 946 dest,"out_EXECUTE_UNIT_IN_"+toString(i)+"_"+toString(j)+"_NUM_REG_RE" ); 947 } 841 948 842 949 // ~~~~~[ Interface "memory_out" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 843 { 950 for (uint32_t j=0; j<_param->_nb_inst_memory [x]; j++) 951 { 844 952 dest = _name+"_execution_unit_to_write_unit"; 845 953 846 954 #ifdef POSITION 847 _component->interface_map (src ,"memory_out ",848 dest,"execute_unit_out_"+toString(i) );849 #endif 850 851 PORT_MAP(_component ,src ,"out_MEMORY_OUT_VAL" ,852 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_VAL" );853 PORT_MAP(_component ,src , "in_MEMORY_OUT_ACK" ,854 dest,"out_EXECUTE_UNIT_OUT_"+toString(i)+"_ACK" );955 _component->interface_map (src ,"memory_out_"+toString(j) 956 dest,"execute_unit_out_"+toString(i)+"_"+toString(j)); 957 #endif 958 959 COMPONENT_MAP(_component ,src ,"out_MEMORY_OUT_"+toString(j)+"_VAL" , 960 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_"+toString(j)+"_VAL" ); 961 COMPONENT_MAP(_component ,src , "in_MEMORY_OUT_"+toString(j)+"_ACK" , 962 dest,"out_EXECUTE_UNIT_OUT_"+toString(i)+"_"+toString(j)+"_ACK" ); 855 963 if (_param->_have_port_context_id) 856 PORT_MAP(_component ,src ,"out_MEMORY_OUT_CONTEXT_ID" ,857 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_CONTEXT_ID" );964 COMPONENT_MAP(_component ,src ,"out_MEMORY_OUT_"+toString(j)+"_CONTEXT_ID" , 965 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_"+toString(j)+"_CONTEXT_ID" ); 858 966 if (_param->_have_port_front_end_id) 859 PORT_MAP(_component ,src ,"out_MEMORY_OUT_FRONT_END_ID" ,860 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_FRONT_END_ID" );967 COMPONENT_MAP(_component ,src ,"out_MEMORY_OUT_"+toString(j)+"_FRONT_END_ID" , 968 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_"+toString(j)+"_FRONT_END_ID" ); 861 969 if (_param->_have_port_ooo_engine_id) 862 PORT_MAP(_component ,src ,"out_MEMORY_OUT_OOO_ENGINE_ID",863 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_OOO_ENGINE_ID");864 if (_param->_have_port_ packet_id)865 PORT_MAP(_component ,src ,"out_MEMORY_OUT_PACKET_ID" ,866 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_PACKET_ID" );867 // PORT_MAP(_component ,src ,"out_MEMORY_OUT_OPERATION" ,868 // dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_OPERATION" );869 PORT_MAP(_component ,src ,"out_MEMORY_OUT_TYPE" ,870 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_TYPE" );871 PORT_MAP(_component ,src ,"out_MEMORY_OUT_WRITE_RD" ,872 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_WRITE_RD" );873 PORT_MAP(_component ,src ,"out_MEMORY_OUT_NUM_REG_RD" ,874 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_NUM_REG_RD" );875 PORT_MAP(_component ,src ,"out_MEMORY_OUT_DATA_RD" ,876 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_DATA_RD" );877 PORT_MAP(_component ,src ,"out_MEMORY_OUT_WRITE_RE" ,878 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_WRITE_RE" );879 PORT_MAP(_component ,src ,"out_MEMORY_OUT_NUM_REG_RE" ,880 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_NUM_REG_RE" );881 PORT_MAP(_component ,src ,"out_MEMORY_OUT_DATA_RE" ,882 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_DATA_RE" );883 PORT_MAP(_component ,src ,"out_MEMORY_OUT_EXCEPTION" ,884 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_EXCEPTION" );885 PORT_MAP(_component ,src ,"out_MEMORY_OUT_NO_SEQUENCE" ,886 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_NO_SEQUENCE" );887 PORT_MAP(_component ,src ,"out_MEMORY_OUT_ADDRESS" ,888 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_ADDRESS" );970 COMPONENT_MAP(_component ,src ,"out_MEMORY_OUT_"+toString(j)+"_OOO_ENGINE_ID", 971 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_"+toString(j)+"_OOO_ENGINE_ID"); 972 if (_param->_have_port_rob_ptr ) 973 COMPONENT_MAP(_component ,src ,"out_MEMORY_OUT_"+toString(j)+"_PACKET_ID" , 974 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_"+toString(j)+"_PACKET_ID" ); 975 // COMPONENT_MAP(_component ,src ,"out_MEMORY_OUT_"+toString(j)+"_OPERATION" , 976 // dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_"+toString(j)+"_OPERATION" ); 977 COMPONENT_MAP(_component ,src ,"out_MEMORY_OUT_"+toString(j)+"_TYPE" , 978 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_"+toString(j)+"_TYPE" ); 979 COMPONENT_MAP(_component ,src ,"out_MEMORY_OUT_"+toString(j)+"_WRITE_RD" , 980 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_"+toString(j)+"_WRITE_RD" ); 981 COMPONENT_MAP(_component ,src ,"out_MEMORY_OUT_"+toString(j)+"_NUM_REG_RD" , 982 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_"+toString(j)+"_NUM_REG_RD" ); 983 COMPONENT_MAP(_component ,src ,"out_MEMORY_OUT_"+toString(j)+"_DATA_RD" , 984 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_"+toString(j)+"_DATA_RD" ); 985 COMPONENT_MAP(_component ,src ,"out_MEMORY_OUT_"+toString(j)+"_WRITE_RE" , 986 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_"+toString(j)+"_WRITE_RE" ); 987 COMPONENT_MAP(_component ,src ,"out_MEMORY_OUT_"+toString(j)+"_NUM_REG_RE" , 988 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_"+toString(j)+"_NUM_REG_RE" ); 989 COMPONENT_MAP(_component ,src ,"out_MEMORY_OUT_"+toString(j)+"_DATA_RE" , 990 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_"+toString(j)+"_DATA_RE" ); 991 COMPONENT_MAP(_component ,src ,"out_MEMORY_OUT_"+toString(j)+"_EXCEPTION" , 992 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_"+toString(j)+"_EXCEPTION" ); 993 COMPONENT_MAP(_component ,src ,"out_MEMORY_OUT_"+toString(j)+"_NO_SEQUENCE" , 994 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_"+toString(j)+"_NO_SEQUENCE" ); 995 COMPONENT_MAP(_component ,src ,"out_MEMORY_OUT_"+toString(j)+"_ADDRESS" , 996 dest, "in_EXECUTE_UNIT_OUT_"+toString(i)+"_"+toString(j)+"_ADDRESS" ); 889 997 } 890 998 891 999 // ~~~~~[ Interface "dcache_req" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1000 for (uint32_t j=0; j<_param->_nb_cache_port [x]; j++) 892 1001 { 893 1002 dest = _name; 894 1003 895 1004 #ifdef POSITION 896 _component->interface_map (src ,"dcache_req ",897 dest,"dcache_req_"+toString( i));898 #endif 899 PORT_MAP(_component ,src ,"out_DCACHE_REQ_ VAL" ,dest,"out_DCACHE_REQ_"+toString(i)+"_VAL" );900 PORT_MAP(_component ,src , "in_DCACHE_REQ_ ACK" ,dest, "in_DCACHE_REQ_"+toString(i)+"_ACK" );1005 _component->interface_map (src ,"dcache_req_"+toString(j), 1006 dest,"dcache_req_"+toString(x)+"_"+toString(j)); 1007 #endif 1008 PORT_MAP(_component ,src ,"out_DCACHE_REQ_"+toString(j)+"_VAL" ,dest,"out_DCACHE_REQ_"+toString(x)+"_"+toString(j)+"_VAL" ); 1009 PORT_MAP(_component ,src , "in_DCACHE_REQ_"+toString(j)+"_ACK" ,dest, "in_DCACHE_REQ_"+toString(x)+"_"+toString(j)+"_ACK" ); 901 1010 if (_param->_have_port_dcache_context_id) 902 PORT_MAP(_component ,src ,"out_DCACHE_REQ_ CONTEXT_ID",dest,"out_DCACHE_REQ_"+toString(i)+"_CONTEXT_ID");903 PORT_MAP(_component ,src ,"out_DCACHE_REQ_ PACKET_ID" ,dest,"out_DCACHE_REQ_"+toString(i)+"_PACKET_ID" );904 PORT_MAP(_component ,src ,"out_DCACHE_REQ_ ADDRESS" ,dest,"out_DCACHE_REQ_"+toString(i)+"_ADDRESS" );905 PORT_MAP(_component ,src ,"out_DCACHE_REQ_ TYPE" ,dest,"out_DCACHE_REQ_"+toString(i)+"_TYPE" );906 PORT_MAP(_component ,src ,"out_DCACHE_REQ_ WDATA" ,dest,"out_DCACHE_REQ_"+toString(i)+"_WDATA" );1011 PORT_MAP(_component ,src ,"out_DCACHE_REQ_"+toString(j)+"_CONTEXT_ID",dest,"out_DCACHE_REQ_"+toString(x)+"_"+toString(j)+"_CONTEXT_ID"); 1012 PORT_MAP(_component ,src ,"out_DCACHE_REQ_"+toString(j)+"_PACKET_ID" ,dest,"out_DCACHE_REQ_"+toString(x)+"_"+toString(j)+"_PACKET_ID" ); 1013 PORT_MAP(_component ,src ,"out_DCACHE_REQ_"+toString(j)+"_ADDRESS" ,dest,"out_DCACHE_REQ_"+toString(x)+"_"+toString(j)+"_ADDRESS" ); 1014 PORT_MAP(_component ,src ,"out_DCACHE_REQ_"+toString(j)+"_TYPE" ,dest,"out_DCACHE_REQ_"+toString(x)+"_"+toString(j)+"_TYPE" ); 1015 PORT_MAP(_component ,src ,"out_DCACHE_REQ_"+toString(j)+"_WDATA" ,dest,"out_DCACHE_REQ_"+toString(x)+"_"+toString(j)+"_WDATA" ); 907 1016 } 908 1017 909 1018 // ~~~~~[ Interface "dcache_rsp" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1019 for (uint32_t j=0; j<_param->_nb_cache_port [x]; j++) 910 1020 { 911 1021 dest = _name; 912 1022 913 1023 #ifdef POSITION 914 _component->interface_map (src ,"dcache_rsp ",915 dest,"dcache_rsp_"+toString( i));916 #endif 917 PORT_MAP(_component ,src , "in_DCACHE_RSP_ VAL" ,dest, "in_DCACHE_RSP_"+toString(i)+"_VAL" );918 PORT_MAP(_component ,src ,"out_DCACHE_RSP_ ACK" ,dest,"out_DCACHE_RSP_"+toString(i)+"_ACK" );1024 _component->interface_map (src ,"dcache_rsp_"+toString(j), 1025 dest,"dcache_rsp_"+toString(x)+"_"+toString(j)); 1026 #endif 1027 PORT_MAP(_component ,src , "in_DCACHE_RSP_"+toString(j)+"_VAL" ,dest, "in_DCACHE_RSP_"+toString(x)+"_"+toString(j)+"_VAL" ); 1028 PORT_MAP(_component ,src ,"out_DCACHE_RSP_"+toString(j)+"_ACK" ,dest,"out_DCACHE_RSP_"+toString(x)+"_"+toString(j)+"_ACK" ); 919 1029 if (_param->_have_port_dcache_context_id) 920 PORT_MAP(_component ,src , "in_DCACHE_RSP_ CONTEXT_ID",dest, "in_DCACHE_RSP_"+toString(i)+"_CONTEXT_ID");921 PORT_MAP(_component ,src , "in_DCACHE_RSP_ PACKET_ID" ,dest, "in_DCACHE_RSP_"+toString(i)+"_PACKET_ID" );922 PORT_MAP(_component ,src , "in_DCACHE_RSP_ RDATA" ,dest, "in_DCACHE_RSP_"+toString(i)+"_RDATA" );923 PORT_MAP(_component ,src , "in_DCACHE_RSP_ ERROR" ,dest, "in_DCACHE_RSP_"+toString(i)+"_ERROR" );1030 PORT_MAP(_component ,src , "in_DCACHE_RSP_"+toString(j)+"_CONTEXT_ID",dest, "in_DCACHE_RSP_"+toString(x)+"_"+toString(j)+"_CONTEXT_ID"); 1031 PORT_MAP(_component ,src , "in_DCACHE_RSP_"+toString(j)+"_PACKET_ID" ,dest, "in_DCACHE_RSP_"+toString(x)+"_"+toString(j)+"_PACKET_ID" ); 1032 PORT_MAP(_component ,src , "in_DCACHE_RSP_"+toString(j)+"_RDATA" ,dest, "in_DCACHE_RSP_"+toString(x)+"_"+toString(j)+"_RDATA" ); 1033 PORT_MAP(_component ,src , "in_DCACHE_RSP_"+toString(j)+"_ERROR" ,dest, "in_DCACHE_RSP_"+toString(x)+"_"+toString(j)+"_ERROR" ); 924 1034 } 925 1035 … … 937 1047 { 938 1048 src = _name+"_write_unit_"+toString(i); 939 std::cout << "Instance : " << src << std::endl;1049 log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str()); 940 1050 941 1051 { … … 957 1067 #endif 958 1068 959 PORT_MAP(_component ,src , "in_WRITE_UNIT_IN_VAL" ,960 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_VAL" );961 PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_ACK" ,962 dest, "in_WRITE_UNIT_IN_"+toString(i)+"_ACK" );1069 COMPONENT_MAP(_component ,src , "in_WRITE_UNIT_IN_VAL" , 1070 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_VAL" ); 1071 COMPONENT_MAP(_component ,src ,"out_WRITE_UNIT_IN_ACK" , 1072 dest, "in_WRITE_UNIT_IN_"+toString(i)+"_ACK" ); 963 1073 if (_param->_have_port_context_id) 964 PORT_MAP(_component ,src , "in_WRITE_UNIT_IN_CONTEXT_ID" ,965 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_CONTEXT_ID" );1074 COMPONENT_MAP(_component ,src , "in_WRITE_UNIT_IN_CONTEXT_ID" , 1075 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_CONTEXT_ID" ); 966 1076 if (_param->_have_port_front_end_id) 967 PORT_MAP(_component ,src , "in_WRITE_UNIT_IN_FRONT_END_ID" ,968 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_FRONT_END_ID" );1077 COMPONENT_MAP(_component ,src , "in_WRITE_UNIT_IN_FRONT_END_ID" , 1078 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_FRONT_END_ID" ); 969 1079 if (_param->_have_port_ooo_engine_id) 970 PORT_MAP(_component ,src , "in_WRITE_UNIT_IN_OOO_ENGINE_ID",971 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_OOO_ENGINE_ID");972 if (_param->_have_port_ packet_id)973 PORT_MAP(_component ,src , "in_WRITE_UNIT_IN_PACKET_ID" ,974 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_PACKET_ID" );975 // PORT_MAP(_component ,src , "in_WRITE_UNIT_IN_OPERATION" ,976 // dest,"out_WRITE_UNIT_IN_"+toString(i)+"_OPERATION" );977 PORT_MAP(_component ,src , "in_WRITE_UNIT_IN_TYPE" ,978 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_TYPE" );979 PORT_MAP(_component ,src , "in_WRITE_UNIT_IN_WRITE_RD" ,980 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_WRITE_RD" );981 PORT_MAP(_component ,src , "in_WRITE_UNIT_IN_NUM_REG_RD" ,982 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_NUM_REG_RD" );983 PORT_MAP(_component ,src , "in_WRITE_UNIT_IN_DATA_RD" ,984 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_DATA_RD" );985 PORT_MAP(_component ,src , "in_WRITE_UNIT_IN_WRITE_RE" ,986 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_WRITE_RE" );987 PORT_MAP(_component ,src , "in_WRITE_UNIT_IN_NUM_REG_RE" ,988 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_NUM_REG_RE" );989 PORT_MAP(_component ,src , "in_WRITE_UNIT_IN_DATA_RE" ,990 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_DATA_RE" );991 PORT_MAP(_component ,src , "in_WRITE_UNIT_IN_EXCEPTION" ,992 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_EXCEPTION" );993 PORT_MAP(_component ,src , "in_WRITE_UNIT_IN_NO_SEQUENCE" ,994 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_NO_SEQUENCE" );995 PORT_MAP(_component ,src , "in_WRITE_UNIT_IN_ADDRESS" ,996 1080 COMPONENT_MAP(_component ,src , "in_WRITE_UNIT_IN_OOO_ENGINE_ID", 1081 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_OOO_ENGINE_ID"); 1082 if (_param->_have_port_rob_ptr ) 1083 COMPONENT_MAP(_component ,src , "in_WRITE_UNIT_IN_PACKET_ID" , 1084 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_PACKET_ID" ); 1085 // COMPONENT_MAP(_component ,src , "in_WRITE_UNIT_IN_OPERATION" , 1086 // dest,"out_WRITE_UNIT_IN_"+toString(i)+"_OPERATION" ); 1087 COMPONENT_MAP(_component ,src , "in_WRITE_UNIT_IN_TYPE" , 1088 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_TYPE" ); 1089 COMPONENT_MAP(_component ,src , "in_WRITE_UNIT_IN_WRITE_RD" , 1090 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_WRITE_RD" ); 1091 COMPONENT_MAP(_component ,src , "in_WRITE_UNIT_IN_NUM_REG_RD" , 1092 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_NUM_REG_RD" ); 1093 COMPONENT_MAP(_component ,src , "in_WRITE_UNIT_IN_DATA_RD" , 1094 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_DATA_RD" ); 1095 COMPONENT_MAP(_component ,src , "in_WRITE_UNIT_IN_WRITE_RE" , 1096 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_WRITE_RE" ); 1097 COMPONENT_MAP(_component ,src , "in_WRITE_UNIT_IN_NUM_REG_RE" , 1098 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_NUM_REG_RE" ); 1099 COMPONENT_MAP(_component ,src , "in_WRITE_UNIT_IN_DATA_RE" , 1100 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_DATA_RE" ); 1101 COMPONENT_MAP(_component ,src , "in_WRITE_UNIT_IN_EXCEPTION" , 1102 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_EXCEPTION" ); 1103 COMPONENT_MAP(_component ,src , "in_WRITE_UNIT_IN_NO_SEQUENCE" , 1104 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_NO_SEQUENCE" ); 1105 COMPONENT_MAP(_component ,src , "in_WRITE_UNIT_IN_ADDRESS" , 1106 dest,"out_WRITE_UNIT_IN_"+toString(i)+"_ADDRESS" ); 997 1107 } 998 1108 … … 1018 1128 PORT_MAP(_component ,src ,"out_WRITE_UNIT_OUT_OOO_ENGINE_ID", 1019 1129 dest,"out_EXECUTE_LOOP_OUT_"+toString(i)+"_OOO_ENGINE_ID"); 1020 if (_param->_have_port_ packet_id)1130 if (_param->_have_port_rob_ptr ) 1021 1131 PORT_MAP(_component ,src ,"out_WRITE_UNIT_OUT_PACKET_ID" , 1022 1132 dest,"out_EXECUTE_LOOP_OUT_"+toString(i)+"_PACKET_ID" ); … … 1033 1143 PORT_MAP(_component ,src ,"out_WRITE_UNIT_OUT_ADDRESS" , 1034 1144 dest,"out_EXECUTE_LOOP_OUT_"+toString(i)+"_ADDRESS" ); 1145 PORT_MAP(_component ,src ,"out_WRITE_UNIT_OUT_DATA" , 1146 dest,"out_EXECUTE_LOOP_OUT_"+toString(i)+"_DATA" ); 1035 1147 } 1148 1036 1149 // -----[ Interface "gpr_write" ]------------------------------------- 1037 1150 { 1038 // Port map with "read_unit" is ok! 1039 1040 dest = _name+"_register_unit"; 1151 dest = _name+"_glue"; 1041 1152 #ifdef POSITION 1042 1153 _component->interface_map (src ,"gpr_write", 1043 dest,"gpr_write_ "+toString(i));1044 #endif 1045 1046 PORT_MAP(_component ,src ,"out_GPR_WRITE_0_VAL" ,1047 dest, "in_GPR_WRITE_"+toString(i)+"_VAL" );1048 PORT_MAP(_component ,src , "in_GPR_WRITE_0_ACK" ,1049 dest,"out_GPR_WRITE_"+toString(i)+"_ACK" );1050 if (_param->_have_port_ context_id)1051 PORT_MAP(_component ,src ,"out_GPR_WRITE_0_OOO_ENGINE_ID",1052 dest, "in_GPR_WRITE_"+toString(i)+"_OOO_ENGINE_ID");1053 PORT_MAP(_component ,src ,"out_GPR_WRITE_0_NUM_REG" ,1054 dest, "in_GPR_WRITE_"+toString(i)+"_NUM_REG" );1055 PORT_MAP(_component ,src ,"out_GPR_WRITE_0_DATA" ,1056 dest, "in_GPR_WRITE_"+toString(i)+"_DATA" );1154 dest,"gpr_write_write_unit_"+toString(i)); 1155 #endif 1156 1157 COMPONENT_MAP(_component ,src ,"out_GPR_WRITE_0_VAL" , 1158 dest, "in_GPR_WRITE_WRITE_UNIT_"+toString(i)+"_VAL" ); 1159 COMPONENT_MAP(_component ,src , "in_GPR_WRITE_0_ACK" , 1160 dest,"out_GPR_WRITE_WRITE_UNIT_"+toString(i)+"_ACK" ); 1161 if (_param->_have_port_ooo_engine_id) 1162 COMPONENT_MAP(_component ,src ,"out_GPR_WRITE_0_OOO_ENGINE_ID", 1163 dest, "in_GPR_WRITE_WRITE_UNIT_"+toString(i)+"_OOO_ENGINE_ID"); 1164 COMPONENT_MAP(_component ,src ,"out_GPR_WRITE_0_NUM_REG" , 1165 dest, "in_GPR_WRITE_WRITE_UNIT_"+toString(i)+"_NUM_REG" ); 1166 COMPONENT_MAP(_component ,src ,"out_GPR_WRITE_0_DATA" , 1167 dest, "in_GPR_WRITE_WRITE_UNIT_"+toString(i)+"_DATA" ); 1057 1168 } 1058 1169 … … 1061 1172 // Port map with "read_unit" is ok! 1062 1173 1063 dest = _name+"_ register_unit";1174 dest = _name+"_glue"; 1064 1175 #ifdef POSITION 1065 1176 _component->interface_map (src ,"spr_write", 1066 dest,"spr_write_ "+toString(i));1067 #endif 1068 1069 PORT_MAP(_component ,src ,"out_SPR_WRITE_0_VAL" ,1070 dest, "in_SPR_WRITE_"+toString(i)+"_VAL" );1071 PORT_MAP(_component ,src , "in_SPR_WRITE_0_ACK" ,1072 dest,"out_SPR_WRITE_"+toString(i)+"_ACK" );1073 if (_param->_have_port_ context_id)1074 PORT_MAP(_component ,src ,"out_SPR_WRITE_0_OOO_ENGINE_ID",1075 dest, "in_SPR_WRITE_"+toString(i)+"_OOO_ENGINE_ID");1076 PORT_MAP(_component ,src ,"out_SPR_WRITE_0_NUM_REG" ,1077 dest, "in_SPR_WRITE_"+toString(i)+"_NUM_REG" );1078 PORT_MAP(_component ,src ,"out_SPR_WRITE_0_DATA" ,1079 dest, "in_SPR_WRITE_"+toString(i)+"_DATA" );1177 dest,"spr_write_write_unit_"+toString(i)); 1178 #endif 1179 1180 COMPONENT_MAP(_component ,src ,"out_SPR_WRITE_0_VAL" , 1181 dest, "in_SPR_WRITE_WRITE_UNIT_"+toString(i)+"_VAL" ); 1182 COMPONENT_MAP(_component ,src , "in_SPR_WRITE_0_ACK" , 1183 dest,"out_SPR_WRITE_WRITE_UNIT_"+toString(i)+"_ACK" ); 1184 if (_param->_have_port_ooo_engine_id) 1185 COMPONENT_MAP(_component ,src ,"out_SPR_WRITE_0_OOO_ENGINE_ID", 1186 dest, "in_SPR_WRITE_WRITE_UNIT_"+toString(i)+"_OOO_ENGINE_ID"); 1187 COMPONENT_MAP(_component ,src ,"out_SPR_WRITE_0_NUM_REG" , 1188 dest, "in_SPR_WRITE_WRITE_UNIT_"+toString(i)+"_NUM_REG" ); 1189 COMPONENT_MAP(_component ,src ,"out_SPR_WRITE_0_DATA" , 1190 dest, "in_SPR_WRITE_WRITE_UNIT_"+toString(i)+"_DATA" ); 1080 1191 } 1081 1192 … … 1091 1202 { 1092 1203 src = _name+"_register_unit"; 1093 std::cout << "Instance : " << src << std::endl;1204 log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str()); 1094 1205 1095 1206 { … … 1114 1225 #endif 1115 1226 1116 PORT_MAP(_component ,src , "in_GPR_READ_"+toString(2*i )+"_VAL" ,dest,"out_GPR_READ_0_VAL" );1117 PORT_MAP(_component ,src ,"out_GPR_READ_"+toString(2*i )+"_ACK" ,dest, "in_GPR_READ_0_ACK" );1118 if (_param->_have_port_context_id)1119 PORT_MAP(_component ,src , "in_GPR_READ_"+toString(2*i )+"_OOO_ENGINE_ID",dest,"out_GPR_READ_0_OOO_ENGINE_ID");1120 PORT_MAP(_component ,src , "in_GPR_READ_"+toString(2*i )+"_NUM_REG" ,dest,"out_GPR_READ_0_NUM_REG" );1121 PORT_MAP(_component ,src ,"out_GPR_READ_"+toString(2*i )+"_DATA" ,dest, "in_GPR_READ_0_DATA" );1122 PORT_MAP(_component ,src ,"out_GPR_READ_"+toString(2*i )+"_DATA_VAL" ,dest, "in_GPR_READ_0_DATA_VAL" );1123 1124 PORT_MAP(_component ,src , "in_GPR_READ_"+toString(2*i+1)+"_VAL" ,dest,"out_GPR_READ_1_VAL" );1125 PORT_MAP(_component ,src ,"out_GPR_READ_"+toString(2*i+1)+"_ACK" ,dest, "in_GPR_READ_1_ACK" );1126 if (_param->_have_port_context_id)1127 PORT_MAP(_component ,src , "in_GPR_READ_"+toString(2*i+1)+"_OOO_ENGINE_ID",dest,"out_GPR_READ_1_OOO_ENGINE_ID");1128 PORT_MAP(_component ,src , "in_GPR_READ_"+toString(2*i+1)+"_NUM_REG" ,dest,"out_GPR_READ_1_NUM_REG" );1129 PORT_MAP(_component ,src ,"out_GPR_READ_"+toString(2*i+1)+"_DATA" ,dest, "in_GPR_READ_1_DATA" );1130 PORT_MAP(_component ,src ,"out_GPR_READ_"+toString(2*i+1)+"_DATA_VAL" ,dest, "in_GPR_READ_1_DATA_VAL" );1227 // PORT_MAP(_component ,src , "in_GPR_READ_"+toString(2*i )+"_VAL" ,dest,"out_GPR_READ_0_VAL" ); 1228 // PORT_MAP(_component ,src ,"out_GPR_READ_"+toString(2*i )+"_ACK" ,dest, "in_GPR_READ_0_ACK" ); 1229 // if (_param->_have_port_context_id) 1230 // PORT_MAP(_component ,src , "in_GPR_READ_"+toString(2*i )+"_OOO_ENGINE_ID",dest,"out_GPR_READ_0_OOO_ENGINE_ID"); 1231 // PORT_MAP(_component ,src , "in_GPR_READ_"+toString(2*i )+"_NUM_REG" ,dest,"out_GPR_READ_0_NUM_REG" ); 1232 // PORT_MAP(_component ,src ,"out_GPR_READ_"+toString(2*i )+"_DATA" ,dest, "in_GPR_READ_0_DATA" ); 1233 // PORT_MAP(_component ,src ,"out_GPR_READ_"+toString(2*i )+"_DATA_VAL" ,dest, "in_GPR_READ_0_DATA_VAL" ); 1234 1235 // PORT_MAP(_component ,src , "in_GPR_READ_"+toString(2*i+1)+"_VAL" ,dest,"out_GPR_READ_1_VAL" ); 1236 // PORT_MAP(_component ,src ,"out_GPR_READ_"+toString(2*i+1)+"_ACK" ,dest, "in_GPR_READ_1_ACK" ); 1237 // if (_param->_have_port_context_id) 1238 // PORT_MAP(_component ,src , "in_GPR_READ_"+toString(2*i+1)+"_OOO_ENGINE_ID",dest,"out_GPR_READ_1_OOO_ENGINE_ID"); 1239 // PORT_MAP(_component ,src , "in_GPR_READ_"+toString(2*i+1)+"_NUM_REG" ,dest,"out_GPR_READ_1_NUM_REG" ); 1240 // PORT_MAP(_component ,src ,"out_GPR_READ_"+toString(2*i+1)+"_DATA" ,dest, "in_GPR_READ_1_DATA" ); 1241 // PORT_MAP(_component ,src ,"out_GPR_READ_"+toString(2*i+1)+"_DATA_VAL" ,dest, "in_GPR_READ_1_DATA_VAL" ); 1131 1242 } 1132 1243 … … 1134 1245 for (uint32_t i=0; i<_param->_nb_write_unit; i++) 1135 1246 { 1136 dest = _name+"_ write_unit_"+toString(i);1137 #ifdef POSITION 1138 _component->interface_map (src ,"gpr_write_"+toString(i) 1139 dest,"gpr_write_ 0");1140 #endif 1141 1142 PORT_MAP(_component ,src , "in_GPR_WRITE_"+toString(i)+"_VAL" ,dest,"out_GPR_WRITE_0_VAL" );1143 PORT_MAP(_component ,src ,"out_GPR_WRITE_"+toString(i)+"_ACK" ,dest, "in_GPR_WRITE_0_ACK" );1144 if (_param->_have_port_ context_id)1145 PORT_MAP(_component ,src , "in_GPR_WRITE_"+toString(i)+"_OOO_ENGINE_ID",dest,"out_GPR_WRITE_0_OOO_ENGINE_ID");1146 PORT_MAP(_component ,src , "in_GPR_WRITE_"+toString(i)+"_NUM_REG" ,dest,"out_GPR_WRITE_0_NUM_REG" );1147 PORT_MAP(_component ,src , "in_GPR_WRITE_"+toString(i)+"_DATA" ,dest,"out_GPR_WRITE_0_DATA" );1247 dest = _name+"_glue"; 1248 #ifdef POSITION 1249 _component->interface_map (src ,"gpr_write_"+toString(i), 1250 dest,"gpr_write_register_file_"+toString(i)); 1251 #endif 1252 1253 COMPONENT_MAP(_component ,src , "in_GPR_WRITE_"+toString(i)+"_VAL" ,dest,"out_GPR_WRITE_REGISTER_FILE_"+toString(i)+"_VAL" ); 1254 COMPONENT_MAP(_component ,src ,"out_GPR_WRITE_"+toString(i)+"_ACK" ,dest, "in_GPR_WRITE_REGISTER_FILE_"+toString(i)+"_ACK" ); 1255 if (_param->_have_port_ooo_engine_id) 1256 COMPONENT_MAP(_component ,src , "in_GPR_WRITE_"+toString(i)+"_OOO_ENGINE_ID",dest,"out_GPR_WRITE_REGISTER_FILE_"+toString(i)+"_OOO_ENGINE_ID"); 1257 COMPONENT_MAP(_component ,src , "in_GPR_WRITE_"+toString(i)+"_NUM_REG" ,dest,"out_GPR_WRITE_REGISTER_FILE_"+toString(i)+"_NUM_REG" ); 1258 COMPONENT_MAP(_component ,src , "in_GPR_WRITE_"+toString(i)+"_DATA" ,dest,"out_GPR_WRITE_REGISTER_FILE_"+toString(i)+"_DATA" ); 1148 1259 } 1149 1260 … … 1157 1268 #endif 1158 1269 1159 PORT_MAP(_component ,src , "in_SPR_READ_"+toString(i)+"_VAL" ,dest,"out_SPR_READ_0_VAL" );1160 PORT_MAP(_component ,src ,"out_SPR_READ_"+toString(i)+"_ACK" ,dest, "in_SPR_READ_0_ACK" );1161 if (_param->_have_port_context_id)1162 PORT_MAP(_component ,src , "in_SPR_READ_"+toString(i)+"_OOO_ENGINE_ID",dest,"out_SPR_READ_0_OOO_ENGINE_ID");1163 PORT_MAP(_component ,src , "in_SPR_READ_"+toString(i)+"_NUM_REG" ,dest,"out_SPR_READ_0_NUM_REG" );1164 PORT_MAP(_component ,src ,"out_SPR_READ_"+toString(i)+"_DATA" ,dest, "in_SPR_READ_0_DATA" );1165 PORT_MAP(_component ,src ,"out_SPR_READ_"+toString(i)+"_DATA_VAL" ,dest, "in_SPR_READ_0_DATA_VAL" );1270 // PORT_MAP(_component ,src , "in_SPR_READ_"+toString(i)+"_VAL" ,dest,"out_SPR_READ_0_VAL" ); 1271 // PORT_MAP(_component ,src ,"out_SPR_READ_"+toString(i)+"_ACK" ,dest, "in_SPR_READ_0_ACK" ); 1272 // if (_param->_have_port_context_id) 1273 // PORT_MAP(_component ,src , "in_SPR_READ_"+toString(i)+"_OOO_ENGINE_ID",dest,"out_SPR_READ_0_OOO_ENGINE_ID"); 1274 // PORT_MAP(_component ,src , "in_SPR_READ_"+toString(i)+"_NUM_REG" ,dest,"out_SPR_READ_0_NUM_REG" ); 1275 // PORT_MAP(_component ,src ,"out_SPR_READ_"+toString(i)+"_DATA" ,dest, "in_SPR_READ_0_DATA" ); 1276 // PORT_MAP(_component ,src ,"out_SPR_READ_"+toString(i)+"_DATA_VAL" ,dest, "in_SPR_READ_0_DATA_VAL" ); 1166 1277 } 1167 1278 … … 1169 1280 for (uint32_t i=0; i<_param->_nb_write_unit; i++) 1170 1281 { 1171 dest = _name+"_ write_unit_"+toString(i);1172 #ifdef POSITION 1173 _component->interface_map (src ,"spr_write_"+toString(i) 1174 dest,"spr_write_ 0");1175 #endif 1176 1177 PORT_MAP(_component ,src , "in_SPR_WRITE_"+toString(i)+"_VAL" ,dest,"out_SPR_WRITE_0_VAL" );1178 PORT_MAP(_component ,src ,"out_SPR_WRITE_"+toString(i)+"_ACK" ,dest, "in_SPR_WRITE_0_ACK" );1179 if (_param->_have_port_ context_id)1180 PORT_MAP(_component ,src , "in_SPR_WRITE_"+toString(i)+"_OOO_ENGINE_ID",dest,"out_SPR_WRITE_0_OOO_ENGINE_ID");1181 PORT_MAP(_component ,src , "in_SPR_WRITE_"+toString(i)+"_NUM_REG" ,dest,"out_SPR_WRITE_0_NUM_REG" );1182 PORT_MAP(_component ,src , "in_SPR_WRITE_"+toString(i)+"_DATA" ,dest,"out_SPR_WRITE_0_DATA" );1282 dest = _name+"_glue"; 1283 #ifdef POSITION 1284 _component->interface_map (src ,"spr_write_"+toString(i), 1285 dest,"spr_write_register_file_"+toString(i)); 1286 #endif 1287 1288 COMPONENT_MAP(_component ,src , "in_SPR_WRITE_"+toString(i)+"_VAL" ,dest,"out_SPR_WRITE_REGISTER_FILE_"+toString(i)+"_VAL" ); 1289 COMPONENT_MAP(_component ,src ,"out_SPR_WRITE_"+toString(i)+"_ACK" ,dest, "in_SPR_WRITE_REGISTER_FILE_"+toString(i)+"_ACK" ); 1290 if (_param->_have_port_ooo_engine_id) 1291 COMPONENT_MAP(_component ,src , "in_SPR_WRITE_"+toString(i)+"_OOO_ENGINE_ID",dest,"out_SPR_WRITE_REGISTER_FILE_"+toString(i)+"_OOO_ENGINE_ID"); 1292 COMPONENT_MAP(_component ,src , "in_SPR_WRITE_"+toString(i)+"_NUM_REG" ,dest,"out_SPR_WRITE_REGISTER_FILE_"+toString(i)+"_NUM_REG" ); 1293 COMPONENT_MAP(_component ,src , "in_SPR_WRITE_"+toString(i)+"_DATA" ,dest,"out_SPR_WRITE_REGISTER_FILE_"+toString(i)+"_DATA" ); 1183 1294 } 1184 1295 … … 1211 1322 } 1212 1323 1213 // ~~~~~[ Interface "retire_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1214 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)1215 {1216 uint32_t x=_param->_nb_inst_retire_rob [i];1324 // // ~~~~~[ Interface "retire_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1325 // for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 1326 // { 1327 // uint32_t x=_param->_nb_inst_retire_rob [i]; 1217 1328 1218 for (uint32_t j=0; j<x; j++)1219 {1220 dest = _name;1221 #ifdef POSITION1222 _component->interface_map (src ,"retire_rob_"+toString(i)+"_"+toString(j),1223 dest,"retire_rob_"+toString(i)+"_"+toString(j));1224 #endif1225 1226 PORT_MAP(_component ,src , "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_VAL" ,1227 dest, "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_VAL" );1228 PORT_MAP(_component ,src ,"out_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_ACK" ,1229 dest,"out_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_ACK" );1230 PORT_MAP(_component ,src , "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RD_OLD_USE" ,1231 dest, "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RD_OLD_USE" );1232 PORT_MAP(_component ,src , "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RD_OLD_NUM_REG",1233 dest, "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RD_OLD_NUM_REG");1234 PORT_MAP(_component ,src , "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RD_NEW_USE" ,1235 dest, "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RD_NEW_USE" );1236 PORT_MAP(_component ,src , "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RD_NEW_NUM_REG",1237 dest, "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RD_NEW_NUM_REG");1238 PORT_MAP(_component ,src , "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RE_OLD_USE" ,1239 dest, "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RE_OLD_USE" );1240 PORT_MAP(_component ,src , "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RE_OLD_NUM_REG",1241 dest, "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RE_OLD_NUM_REG");1242 PORT_MAP(_component ,src , "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RE_NEW_USE" ,1243 dest, "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RE_NEW_USE" );1244 PORT_MAP(_component ,src , "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RE_NEW_NUM_REG",1245 dest, "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RE_NEW_NUM_REG");1246 }1247 }1329 // for (uint32_t j=0; j<x; j++) 1330 // { 1331 // dest = _name; 1332 // #ifdef POSITION 1333 // _component->interface_map (src ,"retire_rob_"+toString(i)+"_"+toString(j), 1334 // dest,"retire_rob_"+toString(i)+"_"+toString(j)); 1335 // #endif 1336 1337 // PORT_MAP(_component ,src , "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_VAL" , 1338 // dest, "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_VAL" ); 1339 // PORT_MAP(_component ,src ,"out_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_ACK" , 1340 // dest,"out_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_ACK" ); 1341 // PORT_MAP(_component ,src , "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RD_OLD_USE" , 1342 // dest, "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RD_OLD_USE" ); 1343 // PORT_MAP(_component ,src , "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RD_OLD_NUM_REG", 1344 // dest, "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RD_OLD_NUM_REG"); 1345 // PORT_MAP(_component ,src , "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RD_NEW_USE" , 1346 // dest, "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RD_NEW_USE" ); 1347 // PORT_MAP(_component ,src , "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RD_NEW_NUM_REG", 1348 // dest, "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RD_NEW_NUM_REG"); 1349 // PORT_MAP(_component ,src , "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RE_OLD_USE" , 1350 // dest, "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RE_OLD_USE" ); 1351 // PORT_MAP(_component ,src , "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RE_OLD_NUM_REG", 1352 // dest, "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RE_OLD_NUM_REG"); 1353 // PORT_MAP(_component ,src , "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RE_NEW_USE" , 1354 // dest, "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RE_NEW_USE" ); 1355 // PORT_MAP(_component ,src , "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RE_NEW_NUM_REG", 1356 // dest, "in_RETIRE_ROB_"+toString(i)+"_"+toString(j)+"_RE_NEW_NUM_REG"); 1357 // } 1358 // } 1248 1359 } 1249 1360 … … 1253 1364 { 1254 1365 src = _name+"_read_unit_to_execution_unit"; 1255 std::cout << "Instance : " << src << std::endl;1366 log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str()); 1256 1367 1257 1368 { … … 1277 1388 #endif 1278 1389 1279 PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_VAL" ,1280 dest,"out_READ_UNIT_OUT_"+toString(j )+"_VAL" );1281 PORT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_ACK" ,1282 dest, "in_READ_UNIT_OUT_"+toString(j )+"_ACK" );1283 if (_param->_have_port_context_id)1284 PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_CONTEXT_ID" ,1285 dest,"out_READ_UNIT_OUT_"+toString(j )+"_CONTEXT_ID" );1286 if (_param->_have_port_front_end_id)1287 PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_FRONT_END_ID" ,1288 dest,"out_READ_UNIT_OUT_"+toString(j )+"_FRONT_END_ID" );1289 if (_param->_have_port_ooo_engine_id)1290 PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_OOO_ENGINE_ID" ,1291 dest,"out_READ_UNIT_OUT_"+toString(j )+"_OOO_ENGINE_ID" );1292 if (_param->_have_port_packet_id)1293 PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_PACKET_ID" ,1294 dest,"out_READ_UNIT_OUT_"+toString(j )+"_PACKET_ID" );1295 PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_OPERATION" ,1296 dest,"out_READ_UNIT_OUT_"+toString(j )+"_OPERATION" );1297 PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_TYPE" ,1298 dest,"out_READ_UNIT_OUT_"+toString(j )+"_TYPE" );1299 PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_STORE_QUEUE_PTR_WRITE",1300 dest,"out_READ_UNIT_OUT_"+toString(j )+"_STORE_QUEUE_PTR_WRITE");1301 if (_param->_have_port_load_queue_ptr)1302 PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_LOAD_QUEUE_PTR_WRITE" ,1303 dest,"out_READ_UNIT_OUT_"+toString(j )+"_LOAD_QUEUE_PTR_WRITE" );1304 PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_HAS_IMMEDIAT" ,1305 dest,"out_READ_UNIT_OUT_"+toString(j )+"_HAS_IMMEDIAT" );1306 PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_IMMEDIAT" ,1307 dest,"out_READ_UNIT_OUT_"+toString(j )+"_IMMEDIAT" );1308 PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_DATA_RA" ,1309 dest,"out_READ_UNIT_OUT_"+toString(j )+"_DATA_RA" );1310 PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_DATA_RB" ,1311 dest,"out_READ_UNIT_OUT_"+toString(j )+"_DATA_RB" );1312 PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_DATA_RC" ,1313 dest,"out_READ_UNIT_OUT_"+toString(j )+"_DATA_RC" );1314 PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_WRITE_RD" ,1315 dest,"out_READ_UNIT_OUT_"+toString(j )+"_WRITE_RD" );1316 PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_NUM_REG_RD" ,1317 dest,"out_READ_UNIT_OUT_"+toString(j )+"_NUM_REG_RD" );1318 PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_WRITE_RE" ,1319 dest,"out_READ_UNIT_OUT_"+toString(j )+"_WRITE_RE" );1320 PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_NUM_REG_RE" ,1321 dest,"out_READ_UNIT_OUT_"+toString(j )+"_NUM_REG_RE" );1390 // PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_VAL" , 1391 // dest,"out_READ_UNIT_OUT_"+toString(j )+"_VAL" ); 1392 // PORT_MAP(_component ,src ,"out_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_ACK" , 1393 // dest, "in_READ_UNIT_OUT_"+toString(j )+"_ACK" ); 1394 // if (_param->_have_port_context_id) 1395 // PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_CONTEXT_ID" , 1396 // dest,"out_READ_UNIT_OUT_"+toString(j )+"_CONTEXT_ID" ); 1397 // if (_param->_have_port_front_end_id) 1398 // PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_FRONT_END_ID" , 1399 // dest,"out_READ_UNIT_OUT_"+toString(j )+"_FRONT_END_ID" ); 1400 // if (_param->_have_port_ooo_engine_id) 1401 // PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_OOO_ENGINE_ID" , 1402 // dest,"out_READ_UNIT_OUT_"+toString(j )+"_OOO_ENGINE_ID" ); 1403 // if (_param->_have_port_rob_ptr ) 1404 // PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_PACKET_ID" , 1405 // dest,"out_READ_UNIT_OUT_"+toString(j )+"_PACKET_ID" ); 1406 // PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_OPERATION" , 1407 // dest,"out_READ_UNIT_OUT_"+toString(j )+"_OPERATION" ); 1408 // PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_TYPE" , 1409 // dest,"out_READ_UNIT_OUT_"+toString(j )+"_TYPE" ); 1410 // PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_STORE_QUEUE_PTR_WRITE", 1411 // dest,"out_READ_UNIT_OUT_"+toString(j )+"_STORE_QUEUE_PTR_WRITE"); 1412 // if (_param->_have_port_load_queue_ptr) 1413 // PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_LOAD_QUEUE_PTR_WRITE" , 1414 // dest,"out_READ_UNIT_OUT_"+toString(j )+"_LOAD_QUEUE_PTR_WRITE" ); 1415 // PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_HAS_IMMEDIAT" , 1416 // dest,"out_READ_UNIT_OUT_"+toString(j )+"_HAS_IMMEDIAT" ); 1417 // PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_IMMEDIAT" , 1418 // dest,"out_READ_UNIT_OUT_"+toString(j )+"_IMMEDIAT" ); 1419 // PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_DATA_RA" , 1420 // dest,"out_READ_UNIT_OUT_"+toString(j )+"_DATA_RA" ); 1421 // PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_DATA_RB" , 1422 // dest,"out_READ_UNIT_OUT_"+toString(j )+"_DATA_RB" ); 1423 // PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_DATA_RC" , 1424 // dest,"out_READ_UNIT_OUT_"+toString(j )+"_DATA_RC" ); 1425 // PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_WRITE_RD" , 1426 // dest,"out_READ_UNIT_OUT_"+toString(j )+"_WRITE_RD" ); 1427 // PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_NUM_REG_RD" , 1428 // dest,"out_READ_UNIT_OUT_"+toString(j )+"_NUM_REG_RD" ); 1429 // PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_WRITE_RE" , 1430 // dest,"out_READ_UNIT_OUT_"+toString(j )+"_WRITE_RE" ); 1431 // PORT_MAP(_component ,src , "in_READ_UNIT_OUT_"+toString(it_read_unit_out)+"_NUM_REG_RE" , 1432 // dest,"out_READ_UNIT_OUT_"+toString(j )+"_NUM_REG_RE" ); 1322 1433 1323 1434 it_read_unit_out ++; … … 1338 1449 #endif 1339 1450 1340 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_VAL" ,1341 dest, "in_EXECUTE_IN_VAL" );1342 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_IN_"+toString(i)+"_ACK" ,1343 dest,"out_EXECUTE_IN_ACK" );1344 if (_param->_have_port_context_id)1345 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_CONTEXT_ID" ,1346 dest, "in_EXECUTE_IN_CONTEXT_ID" );1347 if (_param->_have_port_front_end_id)1348 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_FRONT_END_ID" ,1349 dest, "in_EXECUTE_IN_FRONT_END_ID" );1350 if (_param->_have_port_ooo_engine_id)1351 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_OOO_ENGINE_ID" ,1352 dest, "in_EXECUTE_IN_OOO_ENGINE_ID" );1353 if (_param->_have_port_packet_id)1354 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_PACKET_ID" ,1355 dest, "in_EXECUTE_IN_PACKET_ID" );1356 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_OPERATION" ,1357 dest, "in_EXECUTE_IN_OPERATION" );1358 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_TYPE" ,1359 dest, "in_EXECUTE_IN_TYPE" );1360 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_STORE_QUEUE_PTR_WRITE",1361 dest, "in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE");1362 if (_param->_have_port_load_queue_ptr)1363 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_LOAD_QUEUE_PTR_WRITE" ,1364 dest, "in_EXECUTE_IN_LOAD_QUEUE_PTR_WRITE" );1365 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_HAS_IMMEDIAT" ,1366 dest, "in_EXECUTE_IN_HAS_IMMEDIAT" );1367 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_IMMEDIAT" ,1368 dest, "in_EXECUTE_IN_IMMEDIAT" );1369 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_DATA_RA" ,1370 dest, "in_EXECUTE_IN_DATA_RA" );1371 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_DATA_RB" ,1372 dest, "in_EXECUTE_IN_DATA_RB" );1373 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_DATA_RC" ,1374 dest, "in_EXECUTE_IN_DATA_RC" );1375 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_WRITE_RD" ,1376 dest, "in_EXECUTE_IN_WRITE_RD" );1377 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_NUM_REG_RD" ,1378 dest, "in_EXECUTE_IN_NUM_REG_RD" );1379 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_WRITE_RE" ,1380 dest, "in_EXECUTE_IN_WRITE_RE" );1381 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_NUM_REG_RE" ,1382 dest, "in_EXECUTE_IN_NUM_REG_RE" );1451 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_VAL" , 1452 // dest, "in_EXECUTE_IN_VAL" ); 1453 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_IN_"+toString(i)+"_ACK" , 1454 // dest,"out_EXECUTE_IN_ACK" ); 1455 // if (_param->_have_port_context_id) 1456 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_CONTEXT_ID" , 1457 // dest, "in_EXECUTE_IN_CONTEXT_ID" ); 1458 // if (_param->_have_port_front_end_id) 1459 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_FRONT_END_ID" , 1460 // dest, "in_EXECUTE_IN_FRONT_END_ID" ); 1461 // if (_param->_have_port_ooo_engine_id) 1462 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_OOO_ENGINE_ID" , 1463 // dest, "in_EXECUTE_IN_OOO_ENGINE_ID" ); 1464 // if (_param->_have_port_rob_ptr ) 1465 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_PACKET_ID" , 1466 // dest, "in_EXECUTE_IN_PACKET_ID" ); 1467 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_OPERATION" , 1468 // dest, "in_EXECUTE_IN_OPERATION" ); 1469 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_TYPE" , 1470 // dest, "in_EXECUTE_IN_TYPE" ); 1471 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_STORE_QUEUE_PTR_WRITE", 1472 // dest, "in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE"); 1473 // if (_param->_have_port_load_queue_ptr) 1474 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_LOAD_QUEUE_PTR_WRITE" , 1475 // dest, "in_EXECUTE_IN_LOAD_QUEUE_PTR_WRITE" ); 1476 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_HAS_IMMEDIAT" , 1477 // dest, "in_EXECUTE_IN_HAS_IMMEDIAT" ); 1478 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_IMMEDIAT" , 1479 // dest, "in_EXECUTE_IN_IMMEDIAT" ); 1480 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_DATA_RA" , 1481 // dest, "in_EXECUTE_IN_DATA_RA" ); 1482 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_DATA_RB" , 1483 // dest, "in_EXECUTE_IN_DATA_RB" ); 1484 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_DATA_RC" , 1485 // dest, "in_EXECUTE_IN_DATA_RC" ); 1486 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_WRITE_RD" , 1487 // dest, "in_EXECUTE_IN_WRITE_RD" ); 1488 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_NUM_REG_RD" , 1489 // dest, "in_EXECUTE_IN_NUM_REG_RD" ); 1490 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_WRITE_RE" , 1491 // dest, "in_EXECUTE_IN_WRITE_RE" ); 1492 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_NUM_REG_RE" , 1493 // dest, "in_EXECUTE_IN_NUM_REG_RE" ); 1383 1494 } 1384 1495 else … … 1391 1502 #endif 1392 1503 1393 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_VAL" ,1394 dest, "in_MEMORY_IN_VAL" );1395 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_IN_"+toString(i)+"_ACK" ,1396 dest,"out_MEMORY_IN_ACK" );1397 if (_param->_have_port_context_id)1398 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_CONTEXT_ID" ,1399 dest, "in_MEMORY_IN_CONTEXT_ID" );1400 if (_param->_have_port_front_end_id)1401 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_FRONT_END_ID" ,1402 dest, "in_MEMORY_IN_FRONT_END_ID" );1403 if (_param->_have_port_ooo_engine_id)1404 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_OOO_ENGINE_ID" ,1405 dest, "in_MEMORY_IN_OOO_ENGINE_ID" );1406 if (_param->_have_port_packet_id)1407 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_PACKET_ID" ,1408 dest, "in_MEMORY_IN_PACKET_ID" );1409 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_OPERATION" ,1410 dest, "in_MEMORY_IN_OPERATION" );1411 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_TYPE" ,1412 dest, "in_MEMORY_IN_TYPE" );1413 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_STORE_QUEUE_PTR_WRITE",1414 dest, "in_MEMORY_IN_STORE_QUEUE_PTR_WRITE");1415 if (_param->_have_port_load_queue_ptr)1416 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_LOAD_QUEUE_PTR_WRITE" ,1417 dest, "in_MEMORY_IN_LOAD_QUEUE_PTR_WRITE" );1418 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_HAS_IMMEDIAT" ,1419 dest, "in_MEMORY_IN_HAS_IMMEDIAT" );1420 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_IMMEDIAT" ,1421 dest, "in_MEMORY_IN_IMMEDIAT" );1422 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_DATA_RA" ,1423 dest, "in_MEMORY_IN_DATA_RA" );1424 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_DATA_RB" ,1425 dest, "in_MEMORY_IN_DATA_RB" );1426 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_DATA_RC" ,1427 dest, "in_MEMORY_IN_DATA_RC" );1428 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_WRITE_RD" ,1429 dest, "in_MEMORY_IN_WRITE_RD" );1430 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_NUM_REG_RD" ,1431 dest, "in_MEMORY_IN_NUM_REG_RD" );1432 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_WRITE_RE" ,1433 dest, "in_MEMORY_IN_WRITE_RE" );1434 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_NUM_REG_RE" ,1435 dest, "in_MEMORY_IN_NUM_REG_RE" );1504 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_VAL" , 1505 // dest, "in_MEMORY_IN_VAL" ); 1506 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_IN_"+toString(i)+"_ACK" , 1507 // dest,"out_MEMORY_IN_ACK" ); 1508 // if (_param->_have_port_context_id) 1509 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_CONTEXT_ID" , 1510 // dest, "in_MEMORY_IN_CONTEXT_ID" ); 1511 // if (_param->_have_port_front_end_id) 1512 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_FRONT_END_ID" , 1513 // dest, "in_MEMORY_IN_FRONT_END_ID" ); 1514 // if (_param->_have_port_ooo_engine_id) 1515 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_OOO_ENGINE_ID" , 1516 // dest, "in_MEMORY_IN_OOO_ENGINE_ID" ); 1517 // if (_param->_have_port_rob_ptr ) 1518 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_PACKET_ID" , 1519 // dest, "in_MEMORY_IN_PACKET_ID" ); 1520 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_OPERATION" , 1521 // dest, "in_MEMORY_IN_OPERATION" ); 1522 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_TYPE" , 1523 // dest, "in_MEMORY_IN_TYPE" ); 1524 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_STORE_QUEUE_PTR_WRITE", 1525 // dest, "in_MEMORY_IN_STORE_QUEUE_PTR_WRITE"); 1526 // if (_param->_have_port_load_queue_ptr) 1527 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_LOAD_QUEUE_PTR_WRITE" , 1528 // dest, "in_MEMORY_IN_LOAD_QUEUE_PTR_WRITE" ); 1529 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_HAS_IMMEDIAT" , 1530 // dest, "in_MEMORY_IN_HAS_IMMEDIAT" ); 1531 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_IMMEDIAT" , 1532 // dest, "in_MEMORY_IN_IMMEDIAT" ); 1533 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_DATA_RA" , 1534 // dest, "in_MEMORY_IN_DATA_RA" ); 1535 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_DATA_RB" , 1536 // dest, "in_MEMORY_IN_DATA_RB" ); 1537 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_DATA_RC" , 1538 // dest, "in_MEMORY_IN_DATA_RC" ); 1539 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_WRITE_RD" , 1540 // dest, "in_MEMORY_IN_WRITE_RD" ); 1541 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_NUM_REG_RD" , 1542 // dest, "in_MEMORY_IN_NUM_REG_RD" ); 1543 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_WRITE_RE" , 1544 // dest, "in_MEMORY_IN_WRITE_RE" ); 1545 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_IN_"+toString(i)+"_NUM_REG_RE" , 1546 // dest, "in_MEMORY_IN_NUM_REG_RE" ); 1436 1547 } 1437 1548 } … … 1443 1554 { 1444 1555 src = _name+"_execution_unit_to_write_unit"; 1445 std::cout << "Instance : " << src << std::endl;1556 log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str()); 1446 1557 1447 1558 { … … 1468 1579 dest,"execute_out"); 1469 1580 #endif 1470 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_VAL" ,1471 dest,"out_EXECUTE_OUT_VAL" );1472 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_OUT_"+toString(i)+"_ACK" ,1473 dest, "in_EXECUTE_OUT_ACK" );1474 if (_param->_have_port_context_id)1475 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_CONTEXT_ID" ,1476 dest,"out_EXECUTE_OUT_CONTEXT_ID" );1477 if (_param->_have_port_front_end_id)1478 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_FRONT_END_ID" ,1479 dest,"out_EXECUTE_OUT_FRONT_END_ID" );1480 if (_param->_have_port_ooo_engine_id)1481 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_OOO_ENGINE_ID",1482 dest,"out_EXECUTE_OUT_OOO_ENGINE_ID");1483 if (_param->_have_port_packet_id)1484 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_PACKET_ID" ,1485 dest,"out_EXECUTE_OUT_PACKET_ID" );1486 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_OPERATION" ,1487 // dest,"out_EXECUTE_OUT_OPERATION" );1488 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_TYPE" ,1489 dest,"out_EXECUTE_OUT_TYPE" );1490 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_WRITE_RD" ,1491 dest,"out_EXECUTE_OUT_WRITE_RD" );1492 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_NUM_REG_RD" ,1493 dest,"out_EXECUTE_OUT_NUM_REG_RD" );1494 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_DATA_RD" ,1495 dest,"out_EXECUTE_OUT_DATA_RD" );1496 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_WRITE_RE" ,1497 dest,"out_EXECUTE_OUT_WRITE_RE" );1498 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_NUM_REG_RE" ,1499 dest,"out_EXECUTE_OUT_NUM_REG_RE" );1500 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_DATA_RE" ,1501 dest,"out_EXECUTE_OUT_DATA_RE" );1502 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_EXCEPTION" ,1503 dest,"out_EXECUTE_OUT_EXCEPTION" );1504 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_NO_SEQUENCE" ,1505 dest,"out_EXECUTE_OUT_NO_SEQUENCE" );1506 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_ADDRESS" ,1507 dest,"out_EXECUTE_OUT_ADDRESS" );1581 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_VAL" , 1582 // dest,"out_EXECUTE_OUT_VAL" ); 1583 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_OUT_"+toString(i)+"_ACK" , 1584 // dest, "in_EXECUTE_OUT_ACK" ); 1585 // if (_param->_have_port_context_id) 1586 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_CONTEXT_ID" , 1587 // dest,"out_EXECUTE_OUT_CONTEXT_ID" ); 1588 // if (_param->_have_port_front_end_id) 1589 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_FRONT_END_ID" , 1590 // dest,"out_EXECUTE_OUT_FRONT_END_ID" ); 1591 // if (_param->_have_port_ooo_engine_id) 1592 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_OOO_ENGINE_ID", 1593 // dest,"out_EXECUTE_OUT_OOO_ENGINE_ID"); 1594 // if (_param->_have_port_rob_ptr ) 1595 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_PACKET_ID" , 1596 // dest,"out_EXECUTE_OUT_PACKET_ID" ); 1597 // // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_OPERATION" , 1598 // // dest,"out_EXECUTE_OUT_OPERATION" ); 1599 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_TYPE" , 1600 // dest,"out_EXECUTE_OUT_TYPE" ); 1601 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_WRITE_RD" , 1602 // dest,"out_EXECUTE_OUT_WRITE_RD" ); 1603 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_NUM_REG_RD" , 1604 // dest,"out_EXECUTE_OUT_NUM_REG_RD" ); 1605 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_DATA_RD" , 1606 // dest,"out_EXECUTE_OUT_DATA_RD" ); 1607 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_WRITE_RE" , 1608 // dest,"out_EXECUTE_OUT_WRITE_RE" ); 1609 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_NUM_REG_RE" , 1610 // dest,"out_EXECUTE_OUT_NUM_REG_RE" ); 1611 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_DATA_RE" , 1612 // dest,"out_EXECUTE_OUT_DATA_RE" ); 1613 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_EXCEPTION" , 1614 // dest,"out_EXECUTE_OUT_EXCEPTION" ); 1615 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_NO_SEQUENCE" , 1616 // dest,"out_EXECUTE_OUT_NO_SEQUENCE" ); 1617 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_ADDRESS" , 1618 // dest,"out_EXECUTE_OUT_ADDRESS" ); 1508 1619 } 1509 1620 else … … 1515 1626 dest,"memory_out"); 1516 1627 #endif 1517 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_VAL" ,1518 dest,"out_MEMORY_OUT_VAL" );1519 PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_OUT_"+toString(i)+"_ACK" ,1520 dest, "in_MEMORY_OUT_ACK" );1521 if (_param->_have_port_context_id)1522 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_CONTEXT_ID" ,1523 dest,"out_MEMORY_OUT_CONTEXT_ID" );1524 if (_param->_have_port_front_end_id)1525 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_FRONT_END_ID" ,1526 dest,"out_MEMORY_OUT_FRONT_END_ID" );1527 if (_param->_have_port_ooo_engine_id)1528 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_OOO_ENGINE_ID",1529 dest,"out_MEMORY_OUT_OOO_ENGINE_ID");1530 if (_param->_have_port_packet_id)1531 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_PACKET_ID" ,1532 dest,"out_MEMORY_OUT_PACKET_ID" );1533 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_OPERATION" ,1534 // dest,"out_MEMORY_OUT_OPERATION" );1535 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_TYPE" ,1536 dest,"out_MEMORY_OUT_TYPE" );1537 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_WRITE_RD" ,1538 dest,"out_MEMORY_OUT_WRITE_RD" );1539 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_NUM_REG_RD" ,1540 dest,"out_MEMORY_OUT_NUM_REG_RD" );1541 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_DATA_RD" ,1542 dest,"out_MEMORY_OUT_DATA_RD" );1543 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_WRITE_RE" ,1544 dest,"out_MEMORY_OUT_WRITE_RE" );1545 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_NUM_REG_RE" ,1546 dest,"out_MEMORY_OUT_NUM_REG_RE" );1547 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_DATA_RE" ,1548 dest,"out_MEMORY_OUT_DATA_RE" );1549 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_EXCEPTION" ,1550 dest,"out_MEMORY_OUT_EXCEPTION" );1551 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_NO_SEQUENCE" ,1552 dest,"out_MEMORY_OUT_NO_SEQUENCE" );1553 PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_ADDRESS" ,1554 dest,"out_MEMORY_OUT_ADDRESS" );1628 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_VAL" , 1629 // dest,"out_MEMORY_OUT_VAL" ); 1630 // PORT_MAP(_component ,src ,"out_EXECUTE_UNIT_OUT_"+toString(i)+"_ACK" , 1631 // dest, "in_MEMORY_OUT_ACK" ); 1632 // if (_param->_have_port_context_id) 1633 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_CONTEXT_ID" , 1634 // dest,"out_MEMORY_OUT_CONTEXT_ID" ); 1635 // if (_param->_have_port_front_end_id) 1636 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_FRONT_END_ID" , 1637 // dest,"out_MEMORY_OUT_FRONT_END_ID" ); 1638 // if (_param->_have_port_ooo_engine_id) 1639 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_OOO_ENGINE_ID", 1640 // dest,"out_MEMORY_OUT_OOO_ENGINE_ID"); 1641 // if (_param->_have_port_rob_ptr ) 1642 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_PACKET_ID" , 1643 // dest,"out_MEMORY_OUT_PACKET_ID" ); 1644 // // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_OPERATION" , 1645 // // dest,"out_MEMORY_OUT_OPERATION" ); 1646 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_TYPE" , 1647 // dest,"out_MEMORY_OUT_TYPE" ); 1648 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_WRITE_RD" , 1649 // dest,"out_MEMORY_OUT_WRITE_RD" ); 1650 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_NUM_REG_RD" , 1651 // dest,"out_MEMORY_OUT_NUM_REG_RD" ); 1652 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_DATA_RD" , 1653 // dest,"out_MEMORY_OUT_DATA_RD" ); 1654 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_WRITE_RE" , 1655 // dest,"out_MEMORY_OUT_WRITE_RE" ); 1656 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_NUM_REG_RE" , 1657 // dest,"out_MEMORY_OUT_NUM_REG_RE" ); 1658 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_DATA_RE" , 1659 // dest,"out_MEMORY_OUT_DATA_RE" ); 1660 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_EXCEPTION" , 1661 // dest,"out_MEMORY_OUT_EXCEPTION" ); 1662 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_NO_SEQUENCE" , 1663 // dest,"out_MEMORY_OUT_NO_SEQUENCE" ); 1664 // PORT_MAP(_component ,src , "in_EXECUTE_UNIT_OUT_"+toString(i)+"_ADDRESS" , 1665 // dest,"out_MEMORY_OUT_ADDRESS" ); 1555 1666 } 1556 1667 } … … 1566 1677 #endif 1567 1678 1568 PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_VAL" ,1569 dest, "in_WRITE_UNIT_IN_VAL" );1570 PORT_MAP(_component ,src , "in_WRITE_UNIT_IN_"+toString(i)+"_ACK" ,1571 dest,"out_WRITE_UNIT_IN_ACK" );1572 if (_param->_have_port_context_id)1573 PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_CONTEXT_ID" ,1574 dest, "in_WRITE_UNIT_IN_CONTEXT_ID" );1575 if (_param->_have_port_front_end_id)1576 PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_FRONT_END_ID" ,1577 dest, "in_WRITE_UNIT_IN_FRONT_END_ID" );1578 if (_param->_have_port_ooo_engine_id)1579 PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_OOO_ENGINE_ID",1580 dest, "in_WRITE_UNIT_IN_OOO_ENGINE_ID");1581 if (_param->_have_port_packet_id)1582 PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_PACKET_ID" ,1583 dest, "in_WRITE_UNIT_IN_PACKET_ID" );1584 // PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_OPERATION" ,1585 // dest, "in_WRITE_UNIT_IN_OPERATION" );1586 PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_TYPE" ,1587 dest, "in_WRITE_UNIT_IN_TYPE" );1588 PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_WRITE_RD" ,1589 dest, "in_WRITE_UNIT_IN_WRITE_RD" );1590 PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_NUM_REG_RD" ,1591 dest, "in_WRITE_UNIT_IN_NUM_REG_RD" );1592 PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_DATA_RD" ,1593 dest, "in_WRITE_UNIT_IN_DATA_RD" );1594 PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_WRITE_RE" ,1595 dest, "in_WRITE_UNIT_IN_WRITE_RE" );1596 PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_NUM_REG_RE" ,1597 dest, "in_WRITE_UNIT_IN_NUM_REG_RE" );1598 PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_DATA_RE" ,1599 dest, "in_WRITE_UNIT_IN_DATA_RE" );1600 PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_EXCEPTION" ,1601 dest, "in_WRITE_UNIT_IN_EXCEPTION" );1602 PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_NO_SEQUENCE" ,1603 dest, "in_WRITE_UNIT_IN_NO_SEQUENCE" );1604 PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_ADDRESS" ,1605 dest, "in_WRITE_UNIT_IN_ADDRESS" );1679 // PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_VAL" , 1680 // dest, "in_WRITE_UNIT_IN_VAL" ); 1681 // PORT_MAP(_component ,src , "in_WRITE_UNIT_IN_"+toString(i)+"_ACK" , 1682 // dest,"out_WRITE_UNIT_IN_ACK" ); 1683 // if (_param->_have_port_context_id) 1684 // PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_CONTEXT_ID" , 1685 // dest, "in_WRITE_UNIT_IN_CONTEXT_ID" ); 1686 // if (_param->_have_port_front_end_id) 1687 // PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_FRONT_END_ID" , 1688 // dest, "in_WRITE_UNIT_IN_FRONT_END_ID" ); 1689 // if (_param->_have_port_ooo_engine_id) 1690 // PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_OOO_ENGINE_ID", 1691 // dest, "in_WRITE_UNIT_IN_OOO_ENGINE_ID"); 1692 // if (_param->_have_port_rob_ptr ) 1693 // PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_PACKET_ID" , 1694 // dest, "in_WRITE_UNIT_IN_PACKET_ID" ); 1695 // // PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_OPERATION" , 1696 // // dest, "in_WRITE_UNIT_IN_OPERATION" ); 1697 // PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_TYPE" , 1698 // dest, "in_WRITE_UNIT_IN_TYPE" ); 1699 // PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_WRITE_RD" , 1700 // dest, "in_WRITE_UNIT_IN_WRITE_RD" ); 1701 // PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_NUM_REG_RD" , 1702 // dest, "in_WRITE_UNIT_IN_NUM_REG_RD" ); 1703 // PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_DATA_RD" , 1704 // dest, "in_WRITE_UNIT_IN_DATA_RD" ); 1705 // PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_WRITE_RE" , 1706 // dest, "in_WRITE_UNIT_IN_WRITE_RE" ); 1707 // PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_NUM_REG_RE" , 1708 // dest, "in_WRITE_UNIT_IN_NUM_REG_RE" ); 1709 // PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_DATA_RE" , 1710 // dest, "in_WRITE_UNIT_IN_DATA_RE" ); 1711 // PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_EXCEPTION" , 1712 // dest, "in_WRITE_UNIT_IN_EXCEPTION" ); 1713 // PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_NO_SEQUENCE" , 1714 // dest, "in_WRITE_UNIT_IN_NO_SEQUENCE" ); 1715 // PORT_MAP(_component ,src ,"out_WRITE_UNIT_IN_"+toString(i)+"_ADDRESS" , 1716 // dest, "in_WRITE_UNIT_IN_ADDRESS" ); 1606 1717 } 1607 1718 } 1608 1719 1720 #if DEBUG_Execute_loop == true 1609 1721 _component->test_map(); 1610 for (uint32_t i=0; i<_param->_nb_read_unit; i++) 1611 _component_read_unit [i]->_component->test_map(); 1612 for (uint32_t i=0; i<_param->_nb_functionnal_unit; i++) 1613 _component_functionnal_unit [i]->_component->test_map(); 1614 for (uint32_t i=0; i<_param->_nb_load_store_unit; i++) 1615 _component_load_store_unit [i]->_component->test_map(); 1616 for (uint32_t i=0; i<_param->_nb_write_unit; i++) 1617 _component_write_unit [i]->_component->test_map(); 1618 _component_read_unit_to_execution_unit->_component->test_map(); 1619 _component_execution_unit_to_write_unit->_component->test_map(); 1620 _component_register_unit->_component->test_map(); 1621 1622 #ifdef POSITION 1623 _component->generate_file(); 1722 #endif 1723 1724 #ifdef POSITION 1725 if (usage_is_set(_usage,USE_POSITION)) 1726 _component->generate_file(); 1624 1727 #endif 1625 1728
Note: See TracChangeset
for help on using the changeset viewer.