Changeset 100 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_genMealy_retire.cpp
Legend:
- Unmodified
- Added
- Removed
-
trunk
-
Property
svn:ignore
set to
Makefile.flags
Makefile.tools
Makefile.tools_path
-
Property
svn:ignore
set to
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_genMealy_retire.cpp
r88 r100 48 48 retire_val [i][j] = false; 49 49 } 50 51 50 for (uint32_t i=0; i<_param->_nb_front_end; ++i) 52 51 for (uint32_t j=0; j<_param->_nb_context[i]; ++j) 53 spr_write_val [i][j] = 0; 54 52 { 53 spr_write_val [i][j] = 0; 54 spr_write_sr_f_val [i][j] = 0; 55 spr_write_sr_cy_val [i][j] = 0; 56 spr_write_sr_ov_val [i][j] = 0; 57 58 } 55 59 // Scan Top of each bank 56 60 for (uint32_t i=0; i<_param->_nb_bank; i++) … … 64 68 uint32_t x = entry->rename_unit_id; 65 69 uint32_t y = num_inst_retire [x]; 66 70 71 // test if : 72 // * can retire (all previous instruction is retired) 73 // * all structure is ok (not busy) 67 74 if (can_retire [x] and // in-order 68 75 (y < _param->_nb_inst_retire [x]) and … … 71 78 rob_state_t state = entry->state; 72 79 73 if ((state == ROB_END_OK ) or 74 (state == ROB_END_KO ) or 75 (state == ROB_END_MISS)// or 80 if ((state == ROB_END_OK ) or 81 (state == ROB_END_KO ) or 82 (state == ROB_END_BRANCH_MISS) or 83 (state == ROB_END_MISS )// or 76 84 // (state == ROB_END_EXCEPTION) 77 85 ) … … 85 93 bool spr_write_ack = true; 86 94 95 // Write in SR the good flag 87 96 if ((state == ROB_END_OK ) and write_re) 97 // ROB_END_BRANCH_MISS is a valid branch instruction but don't modify RE 88 98 { 89 99 spr_write_ack = PORT_READ(in_SPR_WRITE_ACK [front_end_id][context_id]); … … 138 148 PORT_WRITE(out_RETIRE_CONTEXT_ID [x][y], context_id ); 139 149 // PORT_WRITE(out_RETIRE_RENAME_UNIT_ID [x][y], entry->rename_unit_id ); 140 PORT_WRITE(out_RETIRE_EVENT_STATE [x][y], entry->event_state);150 PORT_WRITE(out_RETIRE_EVENT_STATE [x][y], reg_EVENT_STATE[front_end_id][context_id]); 141 151 PORT_WRITE(out_RETIRE_USE_STORE_QUEUE [x][y], entry->use_store_queue ); 142 152 PORT_WRITE(out_RETIRE_USE_LOAD_QUEUE [x][y], entry->use_load_queue );
Note: See TracChangeset
for help on using the changeset viewer.