Changeset 88 for 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_genMealy_insert.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/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_function_speculative_load_commit_genMealy_insert.cpp
r81 r88 27 27 28 28 // ~~~~~[ Output "memory_in" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 29 30 // Initialisation 31 internal_MEMORY_IN_PORT = 0; 32 Tcontrol_t ack [_param->_nb_inst_memory]; 33 for (uint32_t i=0; i<_param->_nb_inst_memory; i++) 34 ack [i] = 0; 29 35 36 // find first valid entry 30 37 // store queue is never full (pointer is manage by rename stage) 31 internal_MEMORY_IN_ACK = is_operation_memory_store(PORT_READ(in_MEMORY_IN_OPERATION)) or not _speculative_access_queue_control->full(); 38 for (uint32_t i=0; i<_param->_nb_inst_memory; i++) 39 if (PORT_READ(in_MEMORY_IN_VAL [i])) 40 { 41 internal_MEMORY_IN_ACK = is_operation_memory_store(PORT_READ(in_MEMORY_IN_OPERATION [i])) or not _speculative_access_queue_control->full(); 32 42 33 PORT_WRITE(out_MEMORY_IN_ACK, internal_MEMORY_IN_ACK); 43 if (internal_MEMORY_IN_ACK) 44 { 45 ack [i] = 1; 46 internal_MEMORY_IN_PORT = i; 47 break; // end 48 } 49 } 50 51 for (uint32_t i=0; i<_param->_nb_inst_memory; i++) 52 PORT_WRITE(out_MEMORY_IN_ACK [i], ack [i]); 34 53 35 54 log_printf(FUNC,Load_store_unit,FUNCTION,"End");
Note: See TracChangeset
for help on using the changeset viewer.