Changeset 112 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src
- 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/Load_store_unit/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
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.