Changeset 98 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/src/Prediction_unit_Glue_genMealy_update.cpp
- Timestamp:
- Dec 31, 2008, 11:18:08 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/src/Prediction_unit_Glue_genMealy_update.cpp
r88 r98 23 23 { 24 24 log_begin(Prediction_unit_Glue,FUNCTION); 25 log_function(Prediction_unit_Glue,FUNCTION,_name.c_str()); 25 26 26 // for (uint32_t i=0; i<_param->_nb_inst_branch_update; i++) 27 // { 28 // Tcontrol_t btb_ack = PORT_READ(in_UPDATE_BTB_ACK [i]); 29 // Tcontrol_t dir_ack = PORT_READ(in_UPDATE_DIR_ACK [i]); 30 // Tcontrol_t ras_ack = PORT_READ(in_UPDATE_RAS_ACK [i]); 31 // Tcontrol_t upt_val = PORT_READ(in_UPDATE_UPT_VAL [i]); 27 for (uint32_t i=0; i<_param->_nb_inst_branch_update; i++) 28 { 29 log_printf(TRACE,Prediction_unit_Glue,FUNCTION," * UPDATE [%d]",i); 30 Tcontrol_t btb_ack = PORT_READ(in_UPDATE_BTB_ACK [i]); 31 Tcontrol_t dir_ack = PORT_READ(in_UPDATE_DIR_ACK [i]); 32 Tcontrol_t ras_ack = PORT_READ(in_UPDATE_RAS_ACK [i]); 33 Tcontrol_t upt_val = PORT_READ(in_UPDATE_UPT_VAL [i]); 32 34 33 // Tcontrol_t need_btb= PORT_READ(in_UPDATE_UPT_BTB_VAL [i]);34 // Tcontrol_t need_dir= PORT_READ(in_UPDATE_UPT_DIR_VAL [i]);35 // Tcontrol_t need_ras= PORT_READ(in_UPDATE_UPT_RAS_VAL [i]);35 Tcontrol_t upt_btb_val = PORT_READ(in_UPDATE_UPT_BTB_VAL [i]); 36 Tcontrol_t upt_dir_val = PORT_READ(in_UPDATE_UPT_DIR_VAL [i]); 37 Tcontrol_t upt_ras_val = PORT_READ(in_UPDATE_UPT_RAS_VAL [i]); 36 38 37 // PORT_WRITE(out_UPDATE_BTB_VAL [i], (upt_val and need_btb and 38 // (not need_dir or (need_dir and dir_ack)) and 39 // (not need_ras or (need_ras and ras_ack)))); 39 log_printf(TRACE,Prediction_unit_Glue,FUNCTION," * upt_val : %d",upt_val); 40 log_printf(TRACE,Prediction_unit_Glue,FUNCTION," * upt_btb_val - btb_ack : %d - %d",upt_btb_val, btb_ack); 41 log_printf(TRACE,Prediction_unit_Glue,FUNCTION," * upt_dir_val - dir_ack : %d - %d",upt_dir_val, dir_ack); 42 log_printf(TRACE,Prediction_unit_Glue,FUNCTION," * upt_ras_val - ras_ack : %d - %d",upt_ras_val, ras_ack); 40 43 41 // PORT_WRITE(out_UPDATE_DIR_VAL [i], (upt_val and need_dir and 42 // (not need_btb or (need_btb and btb_ack)) and 43 // (not need_ras or (need_ras and ras_ack)))); 44 Tcontrol_t btb_val = (upt_val and 45 upt_btb_val and 46 // upt_dir_val and 47 // upt_ras_val and 48 // (not upt_btb_val or (upt_btb_val and btb_ack)) and 49 (not upt_dir_val or (upt_dir_val and dir_ack)) and 50 (not upt_ras_val or (upt_ras_val and ras_ack)) 51 ); 44 52 45 // PORT_WRITE(out_UPDATE_RAS_VAL [i], (upt_val and need_ras and 46 // (not need_btb or (need_btb and btb_ack)) and 47 // (not need_dir or (need_dir and dir_ack)))); 53 Tcontrol_t dir_val = (upt_val and 54 // upt_btb_val and 55 upt_dir_val and 56 // upt_ras_val and 57 (not upt_btb_val or (upt_btb_val and btb_ack)) and 58 // (not upt_dir_val or (upt_dir_val and dir_ack)) and 59 (not upt_ras_val or (upt_ras_val and ras_ack)) 60 ); 48 61 49 // PORT_WRITE(out_UPDATE_UPT_ACK [i], ((not need_btb or (need_btb and btb_ack)) and 50 // (not need_dir or (need_dir and dir_ack)) and 51 // (not need_ras or (need_ras and ras_ack)))); 52 // } 62 Tcontrol_t ras_val = (upt_val and 63 // upt_btb_val and 64 // upt_dir_val and 65 upt_ras_val and 66 (not upt_btb_val or (upt_btb_val and btb_ack)) and 67 (not upt_dir_val or (upt_dir_val and dir_ack))// and 68 // (not upt_ras_val or (upt_ras_val and ras_ack)) 69 ); 70 71 Tcontrol_t upt_ack = ( 72 // upt_val and 73 // upt_btb_val and 74 // upt_dir_val and 75 // upt_ras_val and 76 (not upt_btb_val or (upt_btb_val and btb_ack)) and 77 (not upt_dir_val or (upt_dir_val and dir_ack)) and 78 (not upt_ras_val or (upt_ras_val and ras_ack)) 79 ); 80 81 log_printf(TRACE,Prediction_unit_Glue,FUNCTION," * btb_val : %d",btb_val); 82 log_printf(TRACE,Prediction_unit_Glue,FUNCTION," * dir_val : %d",dir_val); 83 log_printf(TRACE,Prediction_unit_Glue,FUNCTION," * ras_val : %d",ras_val); 84 85 PORT_WRITE(out_UPDATE_BTB_VAL [i], btb_val); 86 PORT_WRITE(out_UPDATE_DIR_VAL [i], dir_val); 87 PORT_WRITE(out_UPDATE_RAS_VAL [i], ras_val); 88 PORT_WRITE(out_UPDATE_UPT_ACK [i], upt_ack); 89 } 53 90 54 91 log_end(Prediction_unit_Glue,FUNCTION);
Note: See TracChangeset
for help on using the changeset viewer.