Changeset 112 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit
- Timestamp:
- Mar 18, 2009, 11:36:26 PM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_allocation.cpp
r101 r112 7 7 8 8 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/include/Functionnal_unit.h" 9 #include "Behavioural/include/Allocation.h" 9 10 10 11 namespace morpheo { … … 50 51 // ~~~~~[ Interface : "execute_in" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 51 52 52 { 53 Interface_fifo * interface = _interfaces->set_interface("execute_in" 54 #ifdef POSITION 55 ,IN 56 ,WEST, 57 "Input of Functionnal Unit" 58 #endif 59 ); 60 61 in_EXECUTE_IN_VAL = interface->set_signal_valack_in (VAL); 62 out_EXECUTE_IN_ACK = interface->set_signal_valack_out (ACK); 63 if (_param->_have_port_context_id) 64 in_EXECUTE_IN_CONTEXT_ID = interface->set_signal_in <Tcontext_t > ("context_id" , _param->_size_context_id ); 65 if (_param->_have_port_front_end_id) 66 in_EXECUTE_IN_FRONT_END_ID = interface->set_signal_in <Tcontext_t > ("front_end_id" , _param->_size_front_end_id ); 67 if (_param->_have_port_ooo_engine_id) 68 in_EXECUTE_IN_OOO_ENGINE_ID = interface->set_signal_in <Tcontext_t > ("ooo_engine_id", _param->_size_ooo_engine_id); 69 if (_param->_have_port_rob_ptr) 70 in_EXECUTE_IN_PACKET_ID = interface->set_signal_in <Tpacket_t > ("packet_id" , _param->_size_rob_ptr ); 71 in_EXECUTE_IN_OPERATION = interface->set_signal_in <Toperation_t > ("operation" , _param->_size_operation ); 72 in_EXECUTE_IN_TYPE = interface->set_signal_in <Ttype_t > ("type" , _param->_size_type ); 73 in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE = interface->set_signal_in <Tlsq_ptr_t> ("store_queue_ptr_write",_param->_size_store_queue_ptr); 74 if (_param->_have_port_load_queue_ptr) 75 in_EXECUTE_IN_LOAD_QUEUE_PTR_WRITE = interface->set_signal_in <Tlsq_ptr_t> ("load_queue_ptr_write" ,_param->_size_load_queue_ptr); 76 in_EXECUTE_IN_HAS_IMMEDIAT = interface->set_signal_in <Tcontrol_t > ("has_immediat" , 1); 77 in_EXECUTE_IN_IMMEDIAT = interface->set_signal_in <Tgeneral_data_t > ("immediat" , _param->_size_general_data); 78 in_EXECUTE_IN_DATA_RA = interface->set_signal_in <Tgeneral_data_t > ("data_ra" , _param->_size_general_data); 79 in_EXECUTE_IN_DATA_RB = interface->set_signal_in <Tgeneral_data_t > ("data_rb" , _param->_size_general_data); 80 in_EXECUTE_IN_DATA_RC = interface->set_signal_in <Tspecial_data_t > ("data_rc" , _param->_size_special_data); 81 in_EXECUTE_IN_WRITE_RD = interface->set_signal_in <Tcontrol_t > ("write_rd" , 1); 82 in_EXECUTE_IN_NUM_REG_RD = interface->set_signal_in <Tgeneral_address_t> ("num_reg_rd" , _param->_size_general_register); 83 in_EXECUTE_IN_WRITE_RE = interface->set_signal_in <Tcontrol_t > ("write_re" , 1); 84 in_EXECUTE_IN_NUM_REG_RE = interface->set_signal_in <Tspecial_address_t> ("num_reg_re" , _param->_size_special_register); 53 { 54 ALLOC0_INTERFACE_BEGIN("execute_in",IN,WEST,"Input of Functionnal Unit"); 55 56 ALLOC0_VALACK_IN ( in_EXECUTE_IN_VAL ,VAL); 57 ALLOC0_VALACK_OUT(out_EXECUTE_IN_ACK ,ACK); 58 ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_CONTEXT_ID ,"context_id" ,Tcontext_t , _param->_size_context_id ); 59 ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_FRONT_END_ID ,"front_end_id" ,Tcontext_t , _param->_size_front_end_id ); 60 ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_OOO_ENGINE_ID ,"ooo_engine_id" ,Tcontext_t , _param->_size_ooo_engine_id); 61 ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_PACKET_ID ,"packet_id" ,Tpacket_t , _param->_size_rob_ptr ); 62 ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_OPERATION ,"operation" ,Toperation_t , _param->_size_operation ); 63 ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_TYPE ,"type" ,Ttype_t , _param->_size_type ); 64 ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE ,"store_queue_ptr_write",Tlsq_ptr_t ,_param->_size_store_queue_ptr); 65 ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_LOAD_QUEUE_PTR_WRITE ,"load_queue_ptr_write" ,Tlsq_ptr_t ,_param->_size_load_queue_ptr); 66 ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_HAS_IMMEDIAT ,"has_immediat" ,Tcontrol_t , 1); 67 ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_IMMEDIAT ,"immediat" ,Tgeneral_data_t , _param->_size_general_data); 68 ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_DATA_RA ,"data_ra" ,Tgeneral_data_t , _param->_size_general_data); 69 ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_DATA_RB ,"data_rb" ,Tgeneral_data_t , _param->_size_general_data); 70 ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_DATA_RC ,"data_rc" ,Tspecial_data_t , _param->_size_special_data); 71 ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_WRITE_RD ,"write_rd" ,Tcontrol_t , 1); 72 ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_NUM_REG_RD ,"num_reg_rd" ,Tgeneral_address_t, _param->_size_general_register); 73 ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_WRITE_RE ,"write_re" ,Tcontrol_t , 1); 74 ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_NUM_REG_RE ,"num_reg_re" ,Tspecial_address_t, _param->_size_special_register); 75 76 ALLOC0_INTERFACE_END(); 85 77 } 86 78 // ~~~~~[ Interface : "execute_out" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 79 { 88 Interface_fifo * interface = _interfaces->set_interface("execute_out" 89 #ifdef POSITION 90 ,IN 91 ,EAST, 92 "Output of Functionnal Unit" 93 #endif 94 ); 95 96 out_EXECUTE_OUT_VAL = interface->set_signal_valack_out (VAL); 97 in_EXECUTE_OUT_ACK = interface->set_signal_valack_in (ACK); 98 if (_param->_have_port_context_id) 99 out_EXECUTE_OUT_CONTEXT_ID = interface->set_signal_out<Tcontext_t > ("context_id" ,_param->_size_context_id ); 100 if (_param->_have_port_front_end_id) 101 out_EXECUTE_OUT_FRONT_END_ID = interface->set_signal_out<Tcontext_t > ("front_end_id" ,_param->_size_front_end_id ); 102 if (_param->_have_port_ooo_engine_id) 103 out_EXECUTE_OUT_OOO_ENGINE_ID = interface->set_signal_out<Tcontext_t > ("ooo_engine_id",_param->_size_ooo_engine_id); 104 if (_param->_have_port_rob_ptr) 105 out_EXECUTE_OUT_PACKET_ID = interface->set_signal_out<Tpacket_t > ("packet_id" ,_param->_size_rob_ptr ); 106 //out_EXECUTE_OUT_OPERATION = interface->set_signal_out<Toperation_t > ("operation" ,_param->_size_operation ); 107 //out_EXECUTE_OUT_TYPE = interface->set_signal_out<Ttype_t > ("type" ,_param->_size_type ); 108 out_EXECUTE_OUT_WRITE_RD = interface->set_signal_out<Tcontrol_t > ("write_rd" ,1); 109 out_EXECUTE_OUT_NUM_REG_RD = interface->set_signal_out<Tgeneral_address_t> ("num_reg_rd" ,_param->_size_general_register); 110 out_EXECUTE_OUT_DATA_RD = interface->set_signal_out<Tgeneral_data_t > ("data_rd" ,_param->_size_general_data); 111 out_EXECUTE_OUT_WRITE_RE = interface->set_signal_out<Tcontrol_t > ("write_re" ,1); 112 out_EXECUTE_OUT_NUM_REG_RE = interface->set_signal_out<Tspecial_address_t> ("num_reg_re" ,_param->_size_special_register); 113 out_EXECUTE_OUT_DATA_RE = interface->set_signal_out<Tspecial_data_t > ("data_re" ,_param->_size_special_data); 114 out_EXECUTE_OUT_EXCEPTION = interface->set_signal_out<Texception_t > ("exception" ,_param->_size_exception); 115 out_EXECUTE_OUT_NO_SEQUENCE = interface->set_signal_out<Tcontrol_t > ("no_sequence" ,1); 116 out_EXECUTE_OUT_ADDRESS = interface->set_signal_out<Taddress_t > ("address" ,_param->_size_instruction_address); 80 ALLOC0_INTERFACE_BEGIN("execute_out",IN,EAST,"Output of Functionnal Unit"); 81 82 ALLOC0_VALACK_OUT(out_EXECUTE_OUT_VAL ,VAL); 83 ALLOC0_VALACK_IN ( in_EXECUTE_OUT_ACK ,ACK); 84 ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 85 ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_FRONT_END_ID ,"front_end_id" ,Tcontext_t ,_param->_size_front_end_id ); 86 ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_OOO_ENGINE_ID ,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id); 87 ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_rob_ptr ); 88 //ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 89 //ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 90 ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_WRITE_RD ,"write_rd" ,Tcontrol_t ,1); 91 ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_NUM_REG_RD ,"num_reg_rd" ,Tgeneral_address_t,_param->_size_general_register); 92 ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_DATA_RD ,"data_rd" ,Tgeneral_data_t ,_param->_size_general_data); 93 ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_WRITE_RE ,"write_re" ,Tcontrol_t ,1); 94 ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_NUM_REG_RE ,"num_reg_re" ,Tspecial_address_t,_param->_size_special_register); 95 ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_DATA_RE ,"data_re" ,Tspecial_data_t ,_param->_size_special_data); 96 ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_EXCEPTION ,"exception" ,Texception_t ,_param->_size_exception); 97 ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_NO_SEQUENCE ,"no_sequence" ,Tcontrol_t ,1); 98 ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_ADDRESS ,"address" ,Taddress_t ,_param->_size_instruction_address); 99 100 ALLOC0_INTERFACE_END(); 117 101 } 118 102 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_deallocation.cpp
r97 r112 7 7 8 8 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/include/Functionnal_unit.h" 9 #include "Behavioural/include/Allocation.h" 9 10 10 11 namespace morpheo { … … 29 30 delete in_NRESET; 30 31 31 delete in_EXECUTE_IN_VAL ; 32 delete out_EXECUTE_IN_ACK ; 33 if (_param->_have_port_context_id) 34 delete in_EXECUTE_IN_CONTEXT_ID ; 35 if (_param->_have_port_front_end_id) 36 delete in_EXECUTE_IN_FRONT_END_ID ; 37 if (_param->_have_port_ooo_engine_id) 38 delete in_EXECUTE_IN_OOO_ENGINE_ID ; 39 if (_param->_have_port_rob_ptr) 40 delete in_EXECUTE_IN_PACKET_ID ; 41 delete in_EXECUTE_IN_OPERATION ; 42 delete in_EXECUTE_IN_TYPE ; 43 delete in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE; 44 if (_param->_have_port_load_queue_ptr) 45 delete in_EXECUTE_IN_LOAD_QUEUE_PTR_WRITE ; 46 delete in_EXECUTE_IN_HAS_IMMEDIAT ; 47 delete in_EXECUTE_IN_IMMEDIAT ; 48 delete in_EXECUTE_IN_DATA_RA ; 49 delete in_EXECUTE_IN_DATA_RB ; 50 delete in_EXECUTE_IN_DATA_RC ; 51 delete in_EXECUTE_IN_WRITE_RD ; 52 delete in_EXECUTE_IN_NUM_REG_RD ; 53 delete in_EXECUTE_IN_WRITE_RE ; 54 delete in_EXECUTE_IN_NUM_REG_RE ; 32 DELETE0_SIGNAL( in_EXECUTE_IN_VAL ,1); 33 DELETE0_SIGNAL(out_EXECUTE_IN_ACK ,1); 34 DELETE0_SIGNAL( in_EXECUTE_IN_CONTEXT_ID , _param->_size_context_id ); 35 DELETE0_SIGNAL( in_EXECUTE_IN_FRONT_END_ID , _param->_size_front_end_id ); 36 DELETE0_SIGNAL( in_EXECUTE_IN_OOO_ENGINE_ID , _param->_size_ooo_engine_id); 37 DELETE0_SIGNAL( in_EXECUTE_IN_PACKET_ID , _param->_size_rob_ptr ); 38 DELETE0_SIGNAL( in_EXECUTE_IN_OPERATION , _param->_size_operation ); 39 DELETE0_SIGNAL( in_EXECUTE_IN_TYPE , _param->_size_type ); 40 DELETE0_SIGNAL( in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE ,_param->_size_store_queue_ptr); 41 DELETE0_SIGNAL( in_EXECUTE_IN_LOAD_QUEUE_PTR_WRITE ,_param->_size_load_queue_ptr); 42 DELETE0_SIGNAL( in_EXECUTE_IN_HAS_IMMEDIAT , 1); 43 DELETE0_SIGNAL( in_EXECUTE_IN_IMMEDIAT , _param->_size_general_data); 44 DELETE0_SIGNAL( in_EXECUTE_IN_DATA_RA , _param->_size_general_data); 45 DELETE0_SIGNAL( in_EXECUTE_IN_DATA_RB , _param->_size_general_data); 46 DELETE0_SIGNAL( in_EXECUTE_IN_DATA_RC , _param->_size_special_data); 47 DELETE0_SIGNAL( in_EXECUTE_IN_WRITE_RD , 1); 48 DELETE0_SIGNAL( in_EXECUTE_IN_NUM_REG_RD , _param->_size_general_register); 49 DELETE0_SIGNAL( in_EXECUTE_IN_WRITE_RE , 1); 50 DELETE0_SIGNAL( in_EXECUTE_IN_NUM_REG_RE , _param->_size_special_register); 55 51 56 delete out_EXECUTE_OUT_VAL ; 57 delete in_EXECUTE_OUT_ACK ; 58 if (_param->_have_port_context_id) 59 delete out_EXECUTE_OUT_CONTEXT_ID ; 60 if (_param->_have_port_front_end_id) 61 delete out_EXECUTE_OUT_FRONT_END_ID ; 62 if (_param->_have_port_ooo_engine_id) 63 delete out_EXECUTE_OUT_OOO_ENGINE_ID ; 64 if (_param->_have_port_rob_ptr) 65 delete out_EXECUTE_OUT_PACKET_ID ; 66 // delete out_EXECUTE_OUT_OPERATION ; 67 // delete out_EXECUTE_OUT_TYPE ; 68 delete out_EXECUTE_OUT_WRITE_RD ; 69 delete out_EXECUTE_OUT_NUM_REG_RD ; 70 delete out_EXECUTE_OUT_DATA_RD ; 71 delete out_EXECUTE_OUT_WRITE_RE ; 72 delete out_EXECUTE_OUT_NUM_REG_RE ; 73 delete out_EXECUTE_OUT_DATA_RE ; 74 delete out_EXECUTE_OUT_EXCEPTION ; 75 delete out_EXECUTE_OUT_NO_SEQUENCE ; 76 delete out_EXECUTE_OUT_ADDRESS ; 52 DELETE0_SIGNAL(out_EXECUTE_OUT_VAL ,1); 53 DELETE0_SIGNAL( in_EXECUTE_OUT_ACK ,1); 54 DELETE0_SIGNAL(out_EXECUTE_OUT_CONTEXT_ID ,_param->_size_context_id ); 55 DELETE0_SIGNAL(out_EXECUTE_OUT_FRONT_END_ID ,_param->_size_front_end_id ); 56 DELETE0_SIGNAL(out_EXECUTE_OUT_OOO_ENGINE_ID ,_param->_size_ooo_engine_id); 57 DELETE0_SIGNAL(out_EXECUTE_OUT_PACKET_ID ,_param->_size_rob_ptr ); 58 //DELETE0_SIGNAL(out_EXECUTE_OUT_OPERATION ,_param->_size_operation ); 59 //DELETE0_SIGNAL(out_EXECUTE_OUT_TYPE ,_param->_size_type ); 60 DELETE0_SIGNAL(out_EXECUTE_OUT_WRITE_RD ,1); 61 DELETE0_SIGNAL(out_EXECUTE_OUT_NUM_REG_RD ,_param->_size_general_register); 62 DELETE0_SIGNAL(out_EXECUTE_OUT_DATA_RD ,_param->_size_general_data); 63 DELETE0_SIGNAL(out_EXECUTE_OUT_WRITE_RE ,1); 64 DELETE0_SIGNAL(out_EXECUTE_OUT_NUM_REG_RE ,_param->_size_special_register); 65 DELETE0_SIGNAL(out_EXECUTE_OUT_DATA_RE ,_param->_size_special_data); 66 DELETE0_SIGNAL(out_EXECUTE_OUT_EXCEPTION ,_param->_size_exception); 67 DELETE0_SIGNAL(out_EXECUTE_OUT_NO_SEQUENCE ,1); 68 DELETE0_SIGNAL(out_EXECUTE_OUT_ADDRESS ,_param->_size_instruction_address); 77 69 78 70 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_allocation.cpp
r97 r112 54 54 // ~~~~~[ Interface "memory_in" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55 55 { 56 ALLOC1_INTERFACE ("memory_in",IN,WEST,_("Instruction from Reservations station"),_param->_nb_inst_memory);56 ALLOC1_INTERFACE_BEGIN("memory_in",IN,WEST,_("Instruction from Reservations station"),_param->_nb_inst_memory); 57 57 58 58 ALLOC1_VALACK_IN ( in_MEMORY_IN_VAL ,VAL); … … 75 75 ALLOC1_SIGNAL_IN ( in_MEMORY_IN_WRITE_RE ,"write_re" ,Tcontrol_t ,1 ); 76 76 ALLOC1_SIGNAL_IN ( in_MEMORY_IN_NUM_REG_RE ,"num_reg_re" ,Tspecial_address_t,_param->_size_special_register ); 77 78 ALLOC1_INTERFACE_END(_param->_nb_inst_memory); 77 79 } 78 80 79 81 // ~~~~~[ Interface "memory_out" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 80 82 { 81 ALLOC1_INTERFACE ("memory_out",OUT,EAST,_("Instruction to write queue"),_param->_nb_inst_memory);83 ALLOC1_INTERFACE_BEGIN("memory_out",OUT,EAST,_("Instruction to write queue"),_param->_nb_inst_memory); 82 84 83 85 ALLOC1_VALACK_OUT(out_MEMORY_OUT_VAL ,VAL); … … 98 100 ALLOC1_SIGNAL_OUT(out_MEMORY_OUT_NO_SEQUENCE ,"no_sequence" ,Tcontrol_t ,1 ); 99 101 ALLOC1_SIGNAL_OUT(out_MEMORY_OUT_ADDRESS ,"address" ,Taddress_t ,_param->_size_instruction_address); 102 103 ALLOC1_INTERFACE_END(_param->_nb_inst_memory); 100 104 } 101 105 102 106 // ~~~~~[ Interface "dcache_req" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 107 { 104 ALLOC1_INTERFACE ("dcache_req",OUT,NORTH,_("Request port to dcache"),_param->_nb_cache_port);108 ALLOC1_INTERFACE_BEGIN("dcache_req",OUT,NORTH,_("Request port to dcache"),_param->_nb_cache_port); 105 109 106 110 ALLOC1_VALACK_OUT(out_DCACHE_REQ_VAL ,VAL); … … 111 115 ALLOC1_SIGNAL_OUT(out_DCACHE_REQ_TYPE ,"type" ,Tdcache_type_t ,_param->_size_dcache_type ); 112 116 ALLOC1_SIGNAL_OUT(out_DCACHE_REQ_WDATA ,"wdata" ,Tdcache_data_t ,_param->_size_general_data); 117 118 ALLOC1_INTERFACE_END(_param->_nb_cache_port); 113 119 } 114 120 115 121 // ~~~~~[ Interface "dcache_rsp" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 116 122 { 117 ALLOC1_INTERFACE ("dcache_rsp",IN,NORTH,_("Respons port from dcache"),_param->_nb_cache_port);123 ALLOC1_INTERFACE_BEGIN("dcache_rsp",IN,NORTH,_("Respons port from dcache"),_param->_nb_cache_port); 118 124 119 125 ALLOC1_VALACK_IN ( in_DCACHE_RSP_VAL ,VAL); … … 123 129 ALLOC1_SIGNAL_IN ( in_DCACHE_RSP_RDATA ,"rdata" ,Tdcache_data_t ,_param->_size_general_data); 124 130 ALLOC1_SIGNAL_IN ( in_DCACHE_RSP_ERROR ,"error" ,Tdcache_error_t,_param->_size_dcache_error); 131 132 ALLOC1_INTERFACE_END(_param->_nb_cache_port); 125 133 } 126 134 // ~~~~~[ Interface "bypass_memory" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 127 135 128 136 { 129 ALLOC1_INTERFACE ("bypass_memory",OUT,NORTH,_("Bypass between the load queue and the reservation station"),_param->_nb_bypass_memory);137 ALLOC1_INTERFACE_BEGIN("bypass_memory",OUT,NORTH,_("Bypass between the load queue and the reservation station"),_param->_nb_bypass_memory); 130 138 131 139 ALLOC1_VALACK_OUT(out_BYPASS_MEMORY_VAL ,VAL); … … 133 141 ALLOC1_SIGNAL_OUT(out_BYPASS_MEMORY_NUM_REG ,"num_reg" ,Tgeneral_address_t, _param->_size_general_register); 134 142 ALLOC1_SIGNAL_OUT(out_BYPASS_MEMORY_DATA ,"data" ,Tgeneral_data_t , _param->_size_general_data ); 143 144 ALLOC1_INTERFACE_END(_param->_nb_bypass_memory); 135 145 } 136 146 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_function_speculative_load_commit_transition.cpp
r110 r112 596 596 597 597 // check find a bypass. A speculative load have been committed : report a speculation miss. 598 if ((_load_queue[index_load]._check_hit != 0) //and599 // (_load_queue[index_load]._write_rd == 0) 598 if ((_load_queue[index_load]._check_hit != 0) and 599 (_load_queue[index_load]._write_rd == 0) // is commit 600 600 ) 601 601 {
Note: See TracChangeset
for help on using the changeset viewer.