Changeset 101 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_genMealy.cpp
- Timestamp:
- Jan 15, 2009, 6:19:08 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_genMealy.cpp
r88 r101 77 77 { 78 78 log_printf(TRACE,Decod,FUNCTION," * IFETCH [%d][%d]",x,y); 79 log_printf(TRACE,Decod,FUNCTION," * decod_ack [%d] : %d",i,PORT_READ(in_DECOD_ACK [i])); 79 80 80 81 can_continue [x] = can_continue_next [x]; … … 145 146 PORT_WRITE(out_DECOD_READ_RC [i], _decod_instruction->_read_rc ); 146 147 PORT_WRITE(out_DECOD_NUM_REG_RC [i], _decod_instruction->_num_reg_rc ); 147 PORT_WRITE(out_DECOD_WRITE_RD [i], _decod_instruction->_write_rd);148 PORT_WRITE(out_DECOD_WRITE_RD [i],(_decod_instruction->_num_reg_rd!=0)?_decod_instruction->_write_rd:0); 148 149 PORT_WRITE(out_DECOD_NUM_REG_RD [i], _decod_instruction->_num_reg_rd ); 149 150 PORT_WRITE(out_DECOD_WRITE_RE [i], _decod_instruction->_write_re ); … … 152 153 // PORT_WRITE(out_DECOD_EXCEPTION [i], _decod_instruction->_exception ); 153 154 155 // Branch predictor can accept : the depth is valid 156 log_printf(TRACE,Decod,FUNCTION," * context_depth_val : %d",PORT_READ(in_CONTEXT_DEPTH_VAL [x])); 157 decod_val [i] &= PORT_READ(in_CONTEXT_DEPTH_VAL [x]); 158 ifetch_ack [x][y] &= PORT_READ(in_CONTEXT_DEPTH_VAL [x]); 159 154 160 if (type == TYPE_BRANCH) 155 161 { 156 162 log_printf(TRACE,Decod,FUNCTION," * type is branch"); 163 log_printf(TRACE,Decod,FUNCTION," * predict_ack : %d",PORT_READ(in_PREDICT_ACK [i])); 164 157 165 log_printf(TRACE,Decod,FUNCTION," * address src : %.8x (%.8x)",_decod_instruction->_address ,_decod_instruction->_address <<2); 158 166 log_printf(TRACE,Decod,FUNCTION," * address dest : %.8x (%.8x)",_decod_instruction->_address_next,_decod_instruction->_address_next<<2); … … 160 168 predict_val [i] = ifetch_ack [x][y] // and decod_val [i] 161 169 ; 162 163 164 170 decod_val [i] &= PORT_READ(in_PREDICT_ACK [i]);// predict_ack and fetch_val and decod_enable 171 ifetch_ack [x][y] &= PORT_READ(in_PREDICT_ACK [i]);// predict_ack and fetch_val and decod_enable and decod_ack 172 165 173 if (_param->_have_port_context_id) 166 174 PORT_WRITE(out_PREDICT_CONTEXT_ID [i],x);
Note: See TracChangeset
for help on using the changeset viewer.