Changeset 82 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/include/Prediction_unit_Glue.h
- Timestamp:
- May 1, 2008, 6:48:45 PM (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/include/Prediction_unit_Glue.h
r81 r82 75 75 public : SC_OUT(Tprediction_ptr_t ) ** out_PREDICT_BRANCH_UPDATE_PREDICTION_ID ; //[nb_context] 76 76 77 public : SC_OUT(Tcontrol_t ) ** out_PREDICT_BTB_VAL ; //[nb_inst_ predict]78 public : SC_IN (Tcontrol_t ) ** in_PREDICT_BTB_ACK ; //[nb_inst_ predict]79 public : SC_OUT(Tcontext_t ) ** out_PREDICT_BTB_CONTEXT_ID ; //[nb_inst_ predict]80 public : SC_OUT(Taddress_t ) ** out_PREDICT_BTB_ADDRESS ; //[nb_inst_ predict]81 public : SC_IN (Tcontrol_t ) ** in_PREDICT_BTB_HIT ; //[nb_inst_ predict]82 public : SC_IN (Taddress_t ) ** in_PREDICT_BTB_ADDRESS_SRC ; //[nb_inst_ predict]83 public : SC_IN (Taddress_t ) ** in_PREDICT_BTB_ADDRESS_DEST ; //[nb_inst_ predict]84 public : SC_IN (Tbranch_condition_t) ** in_PREDICT_BTB_CONDITION ; //[nb_inst_ predict]85 //public : SC_IN (Tcontrol_t ) ** in_PREDICT_BTB_LAST_TAKE ; //[nb_inst_ predict] DIR.LAST_TAKE86 public : SC_IN (Tcontrol_t ) ** in_PREDICT_BTB_IS_ACCURATE ; //[nb_inst_ predict]77 public : SC_OUT(Tcontrol_t ) ** out_PREDICT_BTB_VAL ; //[nb_inst_branch_predict] 78 public : SC_IN (Tcontrol_t ) ** in_PREDICT_BTB_ACK ; //[nb_inst_branch_predict] 79 public : SC_OUT(Tcontext_t ) ** out_PREDICT_BTB_CONTEXT_ID ; //[nb_inst_branch_predict] 80 public : SC_OUT(Taddress_t ) ** out_PREDICT_BTB_ADDRESS ; //[nb_inst_branch_predict] 81 public : SC_IN (Tcontrol_t ) ** in_PREDICT_BTB_HIT ; //[nb_inst_branch_predict] 82 public : SC_IN (Taddress_t ) ** in_PREDICT_BTB_ADDRESS_SRC ; //[nb_inst_branch_predict] 83 public : SC_IN (Taddress_t ) ** in_PREDICT_BTB_ADDRESS_DEST ; //[nb_inst_branch_predict] 84 public : SC_IN (Tbranch_condition_t) ** in_PREDICT_BTB_CONDITION ; //[nb_inst_branch_predict] 85 //public : SC_IN (Tcontrol_t ) ** in_PREDICT_BTB_LAST_TAKE ; //[nb_inst_branch_predict] DIR.LAST_TAKE 86 public : SC_IN (Tcontrol_t ) ** in_PREDICT_BTB_IS_ACCURATE ; //[nb_inst_branch_predict] 87 87 88 public : SC_OUT(Tcontrol_t ) ** out_PREDICT_DIR_VAL ; //[nb_inst_ predict]89 public : SC_IN (Tcontrol_t ) ** in_PREDICT_DIR_ACK ; //[nb_inst_ predict]90 public : SC_OUT(Taddress_t ) ** out_PREDICT_DIR_ADDRESS_SRC ; //[nb_inst_ predict]91 public : SC_OUT(Tcontrol_t ) ** out_PREDICT_DIR_STATIC ; //[nb_inst_ predict]92 //public : SC_OUT(Tcontrol_t ) ** out_PREDICT_DIR_LAST_TAKE ; //[nb_inst_ predict] BTB.LAST_TAKE93 //public : SC_IN (Thistory_t ) ** in_PREDICT_DIR_HISTORY ; //[nb_inst_ predict] UPT.DIR_HISTORY94 public : SC_IN (Tcontrol_t ) ** in_PREDICT_DIR_DIRECTION ; //[nb_inst_ predict]95 96 public : SC_OUT(Tcontrol_t ) ** out_PREDICT_RAS_VAL ; //[nb_inst_ predict]97 public : SC_IN (Tcontrol_t ) ** in_PREDICT_RAS_ACK ; //[nb_inst_ predict]98 public : SC_OUT(Tcontext_t ) ** out_PREDICT_RAS_CONTEXT_ID ; //[nb_inst_ predict]99 public : SC_IN (Tcontrol_t ) ** in_PREDICT_RAS_HIT ; //[nb_inst_ predict]100 public : SC_OUT(Tcontrol_t ) ** out_PREDICT_RAS_PUSH ; //[nb_inst_ predict]101 public : SC_OUT(Taddress_t ) ** out_PREDICT_RAS_ADDRESS_PUSH ; //[nb_inst_ predict]102 public : SC_IN (Taddress_t ) ** in_PREDICT_RAS_ADDRESS_POP ; //[nb_inst_ predict]103 //public : SC_IN (Tptr_t ) ** in_PREDICT_RAS_INDEX ; //[nb_inst_ predict] UPT.RAS_INDEX88 public : SC_OUT(Tcontrol_t ) ** out_PREDICT_DIR_VAL ; //[nb_inst_branch_predict] 89 public : SC_IN (Tcontrol_t ) ** in_PREDICT_DIR_ACK ; //[nb_inst_branch_predict] 90 public : SC_OUT(Taddress_t ) ** out_PREDICT_DIR_ADDRESS_SRC ; //[nb_inst_branch_predict] 91 public : SC_OUT(Tcontrol_t ) ** out_PREDICT_DIR_STATIC ; //[nb_inst_branch_predict] 92 //public : SC_OUT(Tcontrol_t ) ** out_PREDICT_DIR_LAST_TAKE ; //[nb_inst_branch_predict] BTB.LAST_TAKE 93 //public : SC_IN (Thistory_t ) ** in_PREDICT_DIR_HISTORY ; //[nb_inst_branch_predict] UPT.DIR_HISTORY 94 public : SC_IN (Tcontrol_t ) ** in_PREDICT_DIR_DIRECTION ; //[nb_inst_branch_predict] 95 96 public : SC_OUT(Tcontrol_t ) ** out_PREDICT_RAS_VAL ; //[nb_inst_branch_predict] 97 public : SC_IN (Tcontrol_t ) ** in_PREDICT_RAS_ACK ; //[nb_inst_branch_predict] 98 public : SC_OUT(Tcontext_t ) ** out_PREDICT_RAS_CONTEXT_ID ; //[nb_inst_branch_predict] 99 public : SC_IN (Tcontrol_t ) ** in_PREDICT_RAS_HIT ; //[nb_inst_branch_predict] 100 public : SC_OUT(Tcontrol_t ) ** out_PREDICT_RAS_PUSH ; //[nb_inst_branch_predict] 101 public : SC_OUT(Taddress_t ) ** out_PREDICT_RAS_ADDRESS_PUSH ; //[nb_inst_branch_predict] 102 public : SC_IN (Taddress_t ) ** in_PREDICT_RAS_ADDRESS_POP ; //[nb_inst_branch_predict] 103 //public : SC_IN (Tptr_t ) ** in_PREDICT_RAS_INDEX ; //[nb_inst_branch_predict] UPT.RAS_INDEX 104 104 105 public : SC_OUT(Tcontrol_t ) ** out_PREDICT_UPT_VAL ; //[nb_inst_ predict]106 public : SC_IN (Tcontrol_t ) ** in_PREDICT_UPT_ACK ; //[nb_inst_ predict]107 public : SC_OUT(Tcontext_t ) ** out_PREDICT_UPT_CONTEXT_ID ; //[nb_inst_ predict]108 public : SC_OUT(Taddress_t ) ** out_PREDICT_UPT_BTB_ADDRESS_SRC ; //[nb_inst_ predict]* BTB.ADDRESS_SRC109 public : SC_OUT(Taddress_t ) ** out_PREDICT_UPT_BTB_ADDRESS_DEST ; //[nb_inst_ predict]110 public : SC_OUT(Tbranch_condition_t) ** out_PREDICT_UPT_BTB_CONDITION ; //[nb_inst_ predict]* BTB.CONDITION111 public : SC_OUT(Tcontrol_t ) ** out_PREDICT_UPT_BTB_LAST_TAKE ; //[nb_inst_ predict]112 public : SC_OUT(Tcontrol_t ) ** out_PREDICT_UPT_BTB_IS_ACCURATE ; //[nb_inst_ predict]113 //public : SC_OUT(Thistory_t ) ** out_PREDICT_UPT_DIR_HISTORY ; //[nb_inst_ predict] DIR.HISTORY114 public : SC_OUT(Taddress_t ) ** out_PREDICT_UPT_RAS_ADDRESS ; //[nb_inst_ predict]* RAS.ADDRESS_POP115 //public : SC_OUT(Tptr_t ) ** out_PREDICT_UPT_RAS_INDEX ; //[nb_inst_ predict] RAS.INDEX105 public : SC_OUT(Tcontrol_t ) ** out_PREDICT_UPT_VAL ; //[nb_inst_branch_predict] 106 public : SC_IN (Tcontrol_t ) ** in_PREDICT_UPT_ACK ; //[nb_inst_branch_predict] 107 public : SC_OUT(Tcontext_t ) ** out_PREDICT_UPT_CONTEXT_ID ; //[nb_inst_branch_predict] 108 public : SC_OUT(Taddress_t ) ** out_PREDICT_UPT_BTB_ADDRESS_SRC ; //[nb_inst_branch_predict]* BTB.ADDRESS_SRC 109 public : SC_OUT(Taddress_t ) ** out_PREDICT_UPT_BTB_ADDRESS_DEST ; //[nb_inst_branch_predict] 110 public : SC_OUT(Tbranch_condition_t) ** out_PREDICT_UPT_BTB_CONDITION ; //[nb_inst_branch_predict]* BTB.CONDITION 111 public : SC_OUT(Tcontrol_t ) ** out_PREDICT_UPT_BTB_LAST_TAKE ; //[nb_inst_branch_predict] 112 public : SC_OUT(Tcontrol_t ) ** out_PREDICT_UPT_BTB_IS_ACCURATE ; //[nb_inst_branch_predict] 113 //public : SC_OUT(Thistory_t ) ** out_PREDICT_UPT_DIR_HISTORY ; //[nb_inst_branch_predict] DIR.HISTORY 114 public : SC_OUT(Taddress_t ) ** out_PREDICT_UPT_RAS_ADDRESS ; //[nb_inst_branch_predict]* RAS.ADDRESS_POP 115 //public : SC_OUT(Tptr_t ) ** out_PREDICT_UPT_RAS_INDEX ; //[nb_inst_branch_predict] RAS.INDEX 116 116 117 117 // ~~~~~[ Interface : "decod" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 public : SC_OUT(Tcontrol_t ) ** out_DECOD_BTB_VAL ; //[nb_inst_decod] 119 public : SC_IN (Tcontrol_t ) ** in_DECOD_BTB_ACK ; //[nb_inst_decod] 120 public : SC_OUT(Tcontext_t ) ** out_DECOD_BTB_CONTEXT_ID ; //[nb_inst_decod] 121 public : SC_OUT(Taddress_t ) ** out_DECOD_BTB_ADDRESS_SRC ; //[nb_inst_decod] 122 public : SC_OUT(Taddress_t ) ** out_DECOD_BTB_ADDRESS_DEST ; //[nb_inst_decod] 123 public : SC_OUT(Tbranch_condition_t) ** out_DECOD_BTB_CONDITION ; //[nb_inst_decod] 124 public : SC_OUT(Tcontrol_t ) ** out_DECOD_BTB_LAST_TAKE ; //[nb_inst_decod] 125 public : SC_OUT(Tcontrol_t ) ** out_DECOD_BTB_MISS_PREDICTION ; //[nb_inst_decod] 118 public : SC_IN (Tcontrol_t ) *** in_DECOD_VAL ; //[nb_decod_unit][nb_inst_decod] 119 public : SC_OUT(Tcontrol_t ) *** out_DECOD_ACK ; //[nb_decod_unit][nb_inst_decod] 120 public : SC_IN (Tcontext_t ) *** in_DECOD_CONTEXT_ID ; //[nb_decod_unit][nb_inst_decod] 121 public : SC_IN (Tcontrol_t ) *** in_DECOD_MATCH_INST_IFETCH_PTR ; //[nb_decod_unit][nb_inst_decod] 122 public : SC_IN (Tbranch_state_t ) *** in_DECOD_BRANCH_STATE ; //[nb_decod_unit][nb_inst_decod] 123 public : SC_IN (Tprediction_ptr_t ) *** in_DECOD_BRANCH_UPDATE_PREDICTION_ID ; //[nb_decod_unit][nb_inst_decod] 124 public : SC_IN (Tbranch_condition_t) *** in_DECOD_BRANCH_CONDITION ; //[nb_decod_unit][nb_inst_decod] 125 public : SC_IN (Tcontrol_t ) *** in_DECOD_BRANCH_DIRECTION ; //[nb_decod_unit][nb_inst_decod] 126 public : SC_IN (Taddress_t ) *** in_DECOD_ADDRESS_SRC ; //[nb_decod_unit][nb_inst_decod] 127 public : SC_IN (Taddress_t ) *** in_DECOD_ADDRESS_DEST ; //[nb_decod_unit][nb_inst_decod] 128 129 public : SC_OUT(Tcontrol_t ) ** out_DECOD_BTB_VAL ; //[nb_inst_branch_decod] 130 public : SC_IN (Tcontrol_t ) ** in_DECOD_BTB_ACK ; //[nb_inst_branch_decod] 131 public : SC_OUT(Tcontext_t ) ** out_DECOD_BTB_CONTEXT_ID ; //[nb_inst_branch_decod] 132 public : SC_OUT(Taddress_t ) ** out_DECOD_BTB_ADDRESS_SRC ; //[nb_inst_branch_decod] 133 public : SC_OUT(Taddress_t ) ** out_DECOD_BTB_ADDRESS_DEST ; //[nb_inst_branch_decod] 134 public : SC_OUT(Tbranch_condition_t) ** out_DECOD_BTB_CONDITION ; //[nb_inst_branch_decod] 135 public : SC_OUT(Tcontrol_t ) ** out_DECOD_BTB_LAST_TAKE ; //[nb_inst_branch_decod] 136 public : SC_OUT(Tcontrol_t ) ** out_DECOD_BTB_MISS_PREDICTION ; //[nb_inst_branch_decod] 137 public : SC_OUT(Tcontrol_t ) ** out_DECOD_BTB_IS_ACCURATE ; //[nb_inst_branch_decod] 126 138 127 public : SC_OUT(Tcontrol_t) ** out_DECOD_RAS_VAL ; //[nb_inst_decod] 128 public : SC_IN (Tcontrol_t) ** in_DECOD_RAS_ACK ; //[nb_inst_decod] 129 public : SC_OUT(Tcontext_t) ** out_DECOD_RAS_CONTEXT_ID ; //[nb_inst_decod] 130 public : SC_IN (Tcontrol_t) ** in_DECOD_RAS_HIT ; //[nb_inst_decod] 131 public : SC_OUT(Tcontrol_t) ** out_DECOD_RAS_PUSH ; //[nb_inst_decod] 132 public : SC_OUT(Taddress_t) ** out_DECOD_RAS_ADDRESS_PUSH ; //[nb_inst_decod] 133 public : SC_IN (Taddress_t) ** in_DECOD_RAS_ADDRESS_POP ; //[nb_inst_decod] 134 public : SC_IN (Tptr_t ) ** in_DECOD_RAS_INDEX ; //[nb_inst_decod] 135 public : SC_OUT(Tcontrol_t) ** out_DECOD_RAS_MISS_PREDICTION ; //[nb_inst_decod] 136 137 public : SC_OUT(Tcontrol_t ) ** out_DECOD_UPT_VAL ; //[nb_inst_decod] 138 public : SC_IN (Tcontrol_t ) ** in_DECOD_UPT_ACK ; //[nb_inst_decod] 139 public : SC_OUT(Tcontext_t ) ** out_DECOD_UPT_CONTEXT_ID ; //[nb_inst_decod] 140 public : SC_OUT(Taddress_t ) ** out_DECOD_UPT_BTB_ADDRESS_SRC ; //[nb_inst_decod] 141 public : SC_OUT(Taddress_t ) ** out_DECOD_UPT_BTB_ADDRESS_DEST ; //[nb_inst_decod] 142 public : SC_OUT(Tbranch_condition_t) ** out_DECOD_UPT_BTB_CONDITION ; //[nb_inst_decod] 143 public : SC_OUT(Tcontrol_t ) ** out_DECOD_UPT_BTB_LAST_TAKE ; //[nb_inst_decod] 144 public : SC_OUT(Taddress_t ) ** out_DECOD_UPT_RAS_ADDRESS ; //[nb_inst_decod] 145 public : SC_OUT(Tptr_t ) ** out_DECOD_UPT_RAS_INDEX ; //[nb_inst_decod] 146 public : SC_OUT(Tcontrol_t ) ** out_DECOD_UPT_MISS_PREDICTION ; //[nb_inst_decod] 147 public : SC_OUT(Tprediction_ptr_t ) ** out_DECOD_UPT_UPDATE_PREDICTION_ID ; //[nb_inst_decod] 139 public : SC_OUT(Tcontrol_t ) ** out_DECOD_RAS_VAL ; //[nb_inst_branch_decod] 140 public : SC_IN (Tcontrol_t ) ** in_DECOD_RAS_ACK ; //[nb_inst_branch_decod] 141 public : SC_OUT(Tcontext_t ) ** out_DECOD_RAS_CONTEXT_ID ; //[nb_inst_branch_decod] 142 public : SC_IN (Tcontrol_t ) ** in_DECOD_RAS_HIT ; //[nb_inst_branch_decod] 143 public : SC_OUT(Tcontrol_t ) ** out_DECOD_RAS_PUSH ; //[nb_inst_branch_decod] 144 public : SC_OUT(Taddress_t ) ** out_DECOD_RAS_ADDRESS_PUSH ; //[nb_inst_branch_decod] 145 public : SC_IN (Taddress_t ) ** in_DECOD_RAS_ADDRESS_POP ; //[nb_inst_branch_decod] 146 //public : SC_IN (Tptr_t ) ** in_DECOD_RAS_INDEX ; //[nb_inst_branch_decod] UPT.RAS_INDEX 147 public : SC_OUT(Tcontrol_t ) ** out_DECOD_RAS_MISS_PREDICTION ; //[nb_inst_branch_decod] 148 149 public : SC_OUT(Tcontrol_t ) ** out_DECOD_UPT_VAL ; //[nb_inst_branch_decod] 150 public : SC_IN (Tcontrol_t ) ** in_DECOD_UPT_ACK ; //[nb_inst_branch_decod] 151 public : SC_OUT(Tcontext_t ) ** out_DECOD_UPT_CONTEXT_ID ; //[nb_inst_branch_decod] 152 public : SC_OUT(Taddress_t ) ** out_DECOD_UPT_BTB_ADDRESS_SRC ; //[nb_inst_branch_decod] 153 public : SC_OUT(Taddress_t ) ** out_DECOD_UPT_BTB_ADDRESS_DEST ; //[nb_inst_branch_decod] 154 public : SC_OUT(Tbranch_condition_t) ** out_DECOD_UPT_BTB_CONDITION ; //[nb_inst_branch_decod] 155 public : SC_OUT(Tcontrol_t ) ** out_DECOD_UPT_BTB_LAST_TAKE ; //[nb_inst_branch_decod] 156 public : SC_OUT(Taddress_t ) ** out_DECOD_UPT_RAS_ADDRESS ; //[nb_inst_branch_decod] 157 //public : SC_OUT(Tptr_t ) ** out_DECOD_UPT_RAS_INDEX ; //[nb_inst_branch_decod] RAS.INDEX 158 public : SC_OUT(Tcontrol_t ) ** out_DECOD_UPT_MISS_IFETCH ; //[nb_inst_branch_decod] 159 public : SC_OUT(Tcontrol_t ) ** out_DECOD_UPT_MISS_DECOD ; //[nb_inst_branch_decod] 160 public : SC_OUT(Tprediction_ptr_t ) ** out_DECOD_UPT_UPDATE_PREDICTION_ID ; //[nb_inst_branch_decod] 148 161 149 162 // ~~~~~[ Interface : "update" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 150 public : SC_OUT(Tcontrol_t ) ** out_UPDATE_BTB_VAL ; //[nb_inst_update] 151 public : SC_IN (Tcontrol_t ) ** in_UPDATE_BTB_ACK ; //[nb_inst_update] 152 public : SC_OUT(Tcontext_t ) ** out_UPDATE_BTB_CONTEXT_ID ; //[nb_inst_update] 153 public : SC_OUT(Taddress_t ) ** out_UPDATE_BTB_ADDRESS_SRC ; //[nb_inst_update] 154 public : SC_OUT(Taddress_t ) ** out_UPDATE_BTB_ADDRESS_DEST ; //[nb_inst_update] 155 public : SC_OUT(Tbranch_condition_t) ** out_UPDATE_BTB_CONDITION ; //[nb_inst_update] 156 public : SC_OUT(Tcontrol_t ) ** out_UPDATE_BTB_LAST_TAKE ; //[nb_inst_update] 157 public : SC_OUT(Tcontrol_t ) ** out_UPDATE_BTB_MISS_PREDICTION ; //[nb_inst_update] 158 159 public : SC_OUT(Tcontrol_t) ** out_UPDATE_DIR_VAL ; //[nb_inst_update] 160 public : SC_IN (Tcontrol_t) ** in_UPDATE_DIR_ACK ; //[nb_inst_update] 161 public : SC_OUT(Taddress_t) ** out_UPDATE_DIR_ADDRESS ; //[nb_inst_update] 162 public : SC_OUT(Thistory_t) ** out_UPDATE_DIR_HISTORY ; //[nb_inst_update] 163 public : SC_OUT(Tcontrol_t) ** out_UPDATE_DIR_DIRECTION ; //[nb_inst_update] 164 165 public : SC_OUT(Tcontrol_t) ** out_UPDATE_RAS_VAL ; //[nb_inst_update] 166 public : SC_IN (Tcontrol_t) ** in_UPDATE_RAS_ACK ; //[nb_inst_update] 167 public : SC_OUT(Tcontext_t) ** out_UPDATE_RAS_CONTEXT_ID ; //[nb_inst_update] 168 public : SC_OUT(Tcontrol_t) ** out_UPDATE_RAS_PUSH ; //[nb_inst_update] 169 public : SC_OUT(Taddress_t) ** out_UPDATE_RAS_ADDRESS ; //[nb_inst_update] 170 public : SC_OUT(Tptr_t ) ** out_UPDATE_RAS_INDEX ; //[nb_inst_update] 171 public : SC_OUT(Tcontrol_t) ** out_UPDATE_RAS_MISS_PREDICTION ; //[nb_inst_update] 172 public : SC_OUT(Tcontrol_t) ** out_UPDATE_RAS_PREDICTION_IFETCH ; //[nb_inst_update] 173 174 public : SC_IN (Tcontrol_t ) ** in_UPDATE_UPT_VAL ; //[nb_inst_update] 175 public : SC_OUT(Tcontrol_t ) ** out_UPDATE_UPT_ACK ; //[nb_inst_update] 176 public : SC_IN (Tcontext_t ) ** in_UPDATE_UPT_CONTEXT_ID ; //[nb_inst_update] 177 public : SC_IN (Tcontrol_t ) ** in_UPDATE_UPT_MISS_PREDICTION ; //[nb_inst_update] 178 public : SC_IN (Tcontrol_t ) ** in_UPDATE_UPT_DIRECTION_GOOD ; //[nb_inst_update] 179 public : SC_IN (Tcontrol_t ) ** in_UPDATE_UPT_BTB_VAL ; //[nb_inst_update] 180 public : SC_IN (Taddress_t ) ** in_UPDATE_UPT_BTB_ADDRESS_SRC ; //[nb_inst_update] 181 public : SC_IN (Taddress_t ) ** in_UPDATE_UPT_BTB_ADDRESS_DEST ; //[nb_inst_update] 182 public : SC_IN (Tbranch_condition_t) ** in_UPDATE_UPT_BTB_CONDITION ; //[nb_inst_update] 183 public : SC_IN (Tcontrol_t ) ** in_UPDATE_UPT_DIR_VAL ; //[nb_inst_update] 184 public : SC_IN (Thistory_t ) ** in_UPDATE_UPT_DIR_HISTORY ; //[nb_inst_update] 185 public : SC_IN (Tcontrol_t ) ** in_UPDATE_UPT_RAS_VAL ; //[nb_inst_update] 186 public : SC_IN (Taddress_t ) ** in_UPDATE_UPT_RAS_ADDRESS ; //[nb_inst_update] 187 public : SC_IN (Tptr_t ) ** in_UPDATE_UPT_RAS_INDEX ; //[nb_inst_update] 188 public : SC_IN (Tcontrol_t ) ** in_UPDATE_UPT_RAS_PREDICTION_IFETCH ; //[nb_inst_update] 163 public : SC_OUT(Tcontrol_t ) ** out_UPDATE_BTB_VAL ; //[nb_inst_branch_update] 164 public : SC_IN (Tcontrol_t ) ** in_UPDATE_BTB_ACK ; //[nb_inst_branch_update] 165 //public : SC_OUT(Tcontext_t ) ** out_UPDATE_BTB_CONTEXT_ID ; //[nb_inst_branch_update] UPT.CONTEXT_ID 166 //public : SC_OUT(Taddress_t ) ** out_UPDATE_BTB_ADDRESS_SRC ; //[nb_inst_branch_update] UPT.BTB_ADDRESS_SRC 167 //public : SC_OUT(Taddress_t ) ** out_UPDATE_BTB_ADDRESS_DEST ; //[nb_inst_branch_update] UPT.BTB_ADDRESS_DEST 168 //public : SC_OUT(Tbranch_condition_t) ** out_UPDATE_BTB_CONDITION ; //[nb_inst_branch_update]*UPT.BTB_CONDITION 169 //public : SC_OUT(Tcontrol_t ) ** out_UPDATE_BTB_LAST_TAKE ; //[nb_inst_branch_update] UPT.DIRECTION_GOOD 170 //public : SC_OUT(Tcontrol_t ) ** out_UPDATE_BTB_MISS_PREDICTION ; //[nb_inst_branch_update] UPT.MISS_PREDICTION 171 172 public : SC_OUT(Tcontrol_t ) ** out_UPDATE_DIR_VAL ; //[nb_inst_branch_update] 173 public : SC_IN (Tcontrol_t ) ** in_UPDATE_DIR_ACK ; //[nb_inst_branch_update] 174 //public : SC_OUT(Taddress_t ) ** out_UPDATE_DIR_ADDRESS ; //[nb_inst_branch_update] UPT.BTB_ADDRESS_SRC 175 //public : SC_OUT(Thistory_t ) ** out_UPDATE_DIR_HISTORY ; //[nb_inst_branch_update] UPT.DIR_HISTORY 176 //public : SC_OUT(Tcontrol_t ) ** out_UPDATE_DIR_DIRECTION ; //[nb_inst_branch_update] UPT.DIRECTION_GOOD 177 178 public : SC_OUT(Tcontrol_t ) ** out_UPDATE_RAS_VAL ; //[nb_inst_branch_update] 179 public : SC_IN (Tcontrol_t ) ** in_UPDATE_RAS_ACK ; //[nb_inst_branch_update] 180 //public : SC_OUT(Tcontext_t ) ** out_UPDATE_RAS_CONTEXT_ID ; //[nb_inst_branch_update] UPT.CONTEXT_ID 181 //public : SC_OUT(Tcontrol_t ) ** out_UPDATE_RAS_PUSH ; //[nb_inst_branch_update] UPT.RAS_PUSH 182 //public : SC_OUT(Taddress_t ) ** out_UPDATE_RAS_ADDRESS ; //[nb_inst_branch_update] UPT.RAS_ADDRESS 183 //public : SC_OUT(Tptr_t ) ** out_UPDATE_RAS_INDEX ; //[nb_inst_branch_update] UPT.RAS_INDEX 184 //public : SC_OUT(Tcontrol_t ) ** out_UPDATE_RAS_MISS_PREDICTION ; //[nb_inst_branch_update] UPT.MISS_PREDICTION 185 //public : SC_OUT(Tcontrol_t ) ** out_UPDATE_RAS_PREDICTION_IFETCH ; //[nb_inst_branch_update] UPT.RAS_PREDICTION_IFETCH 186 187 public : SC_IN (Tcontrol_t ) ** in_UPDATE_UPT_VAL ; //[nb_inst_branch_update] 188 public : SC_OUT(Tcontrol_t ) ** out_UPDATE_UPT_ACK ; //[nb_inst_branch_update] 189 //public : SC_IN (Tcontext_t ) ** in_UPDATE_UPT_CONTEXT_ID ; //[nb_inst_branch_update] BTB.CONTEXT_ID, RAS.CONTEXT_ID 190 //public : SC_IN (Tcontrol_t ) ** in_UPDATE_UPT_MISS_PREDICTION ; //[nb_inst_branch_update] BTB.MISS_PREDICTION, RAS.MISS_PREDICTION 191 //public : SC_IN (Tcontrol_t ) ** in_UPDATE_UPT_DIRECTION_GOOD ; //[nb_inst_branch_update] BTB.LAST_TAKE, DIR.DIRECTION 192 public : SC_IN (Tcontrol_t ) ** in_UPDATE_UPT_BTB_VAL ; //[nb_inst_branch_update] 193 //public : SC_IN (Taddress_t ) ** in_UPDATE_UPT_BTB_ADDRESS_SRC ; //[nb_inst_branch_update] DIR.ADDRESS, BTB.ADDRESS_SRC 194 //public : SC_IN (Taddress_t ) ** in_UPDATE_UPT_BTB_ADDRESS_DEST ; //[nb_inst_branch_update] BTB.ADDRESS_DEST 195 //public : SC_IN (Tbranch_condition_t) ** in_UPDATE_UPT_BTB_CONDITION ; //[nb_inst_branch_update]*BTB.CONDITION 196 public : SC_IN (Tcontrol_t ) ** in_UPDATE_UPT_DIR_VAL ; //[nb_inst_branch_update] 197 //public : SC_IN (Thistory_t ) ** in_UPDATE_UPT_DIR_HISTORY ; //[nb_inst_branch_update] DIR.HISTORY 198 public : SC_IN (Tcontrol_t ) ** in_UPDATE_UPT_RAS_VAL ; //[nb_inst_branch_update] 199 //public : SC_IN (Taddress_t ) ** in_UPDATE_UPT_RAS_ADDRESS ; //[nb_inst_branch_update] RAS.ADDRESS 200 //public : SC_IN (Tcontrol_t ) ** in_UPDATE_UPT_RAS_PUSH ; //[nb_inst_branch_update] RAS.PUSH 201 //public : SC_IN (Tptr_t ) ** in_UPDATE_UPT_RAS_INDEX ; //[nb_inst_branch_update] RAS.INDEX 202 //public : SC_IN (Tcontrol_t ) ** in_UPDATE_UPT_RAS_PREDICTION_IFETCH ; //[nb_inst_branch_update] RAS.PREDICTION_IFETCH 189 203 190 204 // ~~~~~[ Interface : "depth" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 191 205 public : SC_IN (Tdepth_t ) ** in_DEPTH_UPT_NB_BRANCH ; //[nb_context] 192 206 public : SC_IN (Tdepth_t ) ** in_DEPTH_UPT_TAIL ; //[nb_context] 207 public : SC_OUT(Tdepth_t ) ** out_DEPTH_NB_BRANCH ; //[nb_context] 208 public : SC_OUT(Tdepth_t ) ** out_DEPTH_TAIL ; //[nb_context] 193 209 194 210 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 196 212 // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 197 213 private : uint32_t reg_PREDICT_PRIORITY; 214 private : uint32_t reg_DECOD_PRIORITY; 198 215 199 216 // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 233 250 //public : void genMoore (void); 234 251 public : void genMealy_predict (void); 235 //public : void genMealy_decod (void);236 //public : void genMealy_update (void);252 public : void genMealy_decod (void); 253 public : void genMealy_update (void); 237 254 #endif 238 255
Note: See TracChangeset
for help on using the changeset viewer.