Changeset 112 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue
- Timestamp:
- Mar 18, 2009, 11:36:26 PM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/src/Branch_Target_Buffer_Glue_allocation.cpp
r88 r112 49 49 ,IN 50 50 ,SOUTH, 51 "Generalist interface"51 _("Generalist interface") 52 52 #endif 53 53 ); … … 60 60 { 61 61 { 62 ALLOC1_INTERFACE ("predict", IN, WEST, "predict",_param->_nb_inst_predict);62 ALLOC1_INTERFACE_BEGIN("predict", IN, WEST, _("predict"),_param->_nb_inst_predict); 63 63 64 64 ALLOC1_SIGNAL_IN ( in_PREDICT_VAL , "val" ,Tcontrol_t , 1); … … 84 84 ALLOC1_SIGNAL_IN ( in_PREDICT_VICTIM_VICTIM , "victim_victim" ,Tptr_t , _param->_size_victim); 85 85 } 86 87 ALLOC1_INTERFACE_END(_param->_nb_inst_predict); 86 88 } 87 89 { 88 ALLOC2_INTERFACE ("predict", IN, WEST, "predict",_param->_nb_inst_predict, _param->_associativity);90 ALLOC2_INTERFACE_BEGIN("predict", IN, WEST, _("predict"),_param->_nb_inst_predict, _param->_associativity); 89 91 90 92 ALLOC2_SIGNAL_IN ( in_PREDICT_REGISTER_HIT ,"register_hit" ,Tcontrol_t ,1); … … 94 96 ALLOC2_SIGNAL_IN ( in_PREDICT_REGISTER_LAST_TAKE ,"register_last_take" ,Tcontrol_t ,1); 95 97 ALLOC2_SIGNAL_IN ( in_PREDICT_REGISTER_IS_ACCURATE ,"register_is_accurate" ,Tcontrol_t ,1); 98 99 ALLOC2_INTERFACE_END(_param->_nb_inst_predict, _param->_associativity); 96 100 } 97 101 } … … 99 103 // ~~~~~[ Interface : "decod" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 100 104 { 101 ALLOC1_INTERFACE ("decod", IN, WEST, "decod",_param->_nb_inst_decod);105 ALLOC1_INTERFACE_BEGIN("decod", IN, WEST, _("decod"),_param->_nb_inst_decod); 102 106 103 107 ALLOC1_SIGNAL_IN ( in_DECOD_VAL ,"val" ,Tcontrol_t ,1); … … 115 119 ALLOC1_SIGNAL_OUT(out_DECOD_VICTIM_ADDRESS,"victim_address",Tgeneral_data_t,_param->_size_victim_address); 116 120 } 121 122 ALLOC1_INTERFACE_END(_param->_nb_inst_decod); 117 123 } 118 124 119 125 // ~~~~~[ Interface : "update" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 120 126 { 121 ALLOC1_INTERFACE ("update", IN, WEST, "update",_param->_nb_inst_update);127 ALLOC1_INTERFACE_BEGIN("update", IN, WEST, _("update"),_param->_nb_inst_update); 122 128 123 129 ALLOC1_SIGNAL_IN ( in_UPDATE_VAL ,"val" ,Tcontrol_t ,1); … … 135 141 ALLOC1_SIGNAL_OUT(out_UPDATE_VICTIM_ADDRESS,"victim_address",Tgeneral_data_t,_param->_size_victim_address); 136 142 } 143 144 ALLOC1_INTERFACE_END(_param->_nb_inst_update); 137 145 } 138 146 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/src/Branch_Target_Buffer_Glue_deallocation.cpp
r88 r112 7 7 8 8 #include "Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/include/Branch_Target_Buffer_Glue.h" 9 #include "Behavioural/include/Allocation.h" 9 10 10 11 namespace morpheo { … … 29 30 delete in_NRESET; 30 31 31 delete [] in_PREDICT_VAL ; 32 delete [] out_PREDICT_ACK ; 33 delete [] out_PREDICT_HIT ; 34 delete [] out_PREDICT_ADDRESS_SRC ; 35 delete [] out_PREDICT_ADDRESS_DEST ; 36 delete [] out_PREDICT_CONDITION ; 37 delete [] out_PREDICT_LAST_TAKE ; 38 delete [] out_PREDICT_IS_ACCURATE ; 39 delete [] out_PREDICT_REGISTER_VAL ; 40 delete [] in_PREDICT_REGISTER_ACK ; 41 delete [] in_PREDICT_REGISTER_HIT ; 42 delete [] in_PREDICT_REGISTER_ADDRESS_SRC ; 43 delete [] in_PREDICT_REGISTER_ADDRESS_DEST ; 44 delete [] in_PREDICT_REGISTER_CONDITION ; 45 delete [] in_PREDICT_REGISTER_LAST_TAKE ; 46 delete [] in_PREDICT_REGISTER_IS_ACCURATE ; 32 DELETE1_SIGNAL( in_PREDICT_VAL ,_param->_nb_inst_predict, 1); 33 DELETE1_SIGNAL(out_PREDICT_ACK ,_param->_nb_inst_predict, 1); 34 DELETE1_SIGNAL(out_PREDICT_HIT ,_param->_nb_inst_predict, 1); 35 DELETE1_SIGNAL(out_PREDICT_ADDRESS_SRC ,_param->_nb_inst_predict, _param->_size_instruction_address); 36 DELETE1_SIGNAL(out_PREDICT_ADDRESS_DEST ,_param->_nb_inst_predict, _param->_size_instruction_address); 37 DELETE1_SIGNAL(out_PREDICT_CONDITION ,_param->_nb_inst_predict, _param->_size_branch_condition); 38 DELETE1_SIGNAL(out_PREDICT_LAST_TAKE ,_param->_nb_inst_predict, 1); 39 DELETE1_SIGNAL(out_PREDICT_IS_ACCURATE ,_param->_nb_inst_predict, 1); 40 DELETE1_SIGNAL(out_PREDICT_REGISTER_VAL ,_param->_nb_inst_predict, 1); 41 DELETE1_SIGNAL( in_PREDICT_REGISTER_ACK ,_param->_nb_inst_predict, 1); 47 42 if (_param->_have_port_victim) 48 43 { 49 delete [] in_PREDICT_SORT_VAL;50 delete [] in_PREDICT_SORT_INDEX;51 delete [] out_PREDICT_VICTIM_VAL ; 52 delete [] in_PREDICT_VICTIM_ACK;53 delete [] out_PREDICT_VICTIM_HIT;54 if (not _param->_is_full_associative)55 delete [] out_PREDICT_VICTIM_ADDRESS;56 delete [] out_PREDICT_VICTIM_INDEX;57 delete [] in_PREDICT_VICTIM_VICTIM;44 DELETE1_SIGNAL( in_PREDICT_SORT_VAL ,_param->_nb_inst_predict,1); 45 DELETE1_SIGNAL( in_PREDICT_SORT_INDEX ,_param->_nb_inst_predict,_param->_size_victim); 46 47 DELETE1_SIGNAL(out_PREDICT_VICTIM_VAL ,_param->_nb_inst_predict, 1); 48 DELETE1_SIGNAL( in_PREDICT_VICTIM_ACK ,_param->_nb_inst_predict, 1); 49 DELETE1_SIGNAL(out_PREDICT_VICTIM_HIT ,_param->_nb_inst_predict, 1); 50 DELETE1_SIGNAL(out_PREDICT_VICTIM_ADDRESS,_param->_nb_inst_predict, _param->_size_victim_address); 51 DELETE1_SIGNAL(out_PREDICT_VICTIM_INDEX ,_param->_nb_inst_predict, _param->_size_victim); 52 DELETE1_SIGNAL( in_PREDICT_VICTIM_VICTIM ,_param->_nb_inst_predict, _param->_size_victim); 58 53 } 59 delete [] in_DECOD_VAL ; 60 delete [] out_DECOD_ACK ; 61 if (not _param->_is_full_associative) 62 delete [] in_DECOD_ADDRESS_SRC ; 63 delete [] out_DECOD_REGISTER_VAL ; 64 delete [] in_DECOD_REGISTER_ACK ; 65 if (_param->_have_port_victim) 66 { 67 delete [] out_DECOD_VICTIM_VAL ; 68 delete [] in_DECOD_VICTIM_ACK ; 69 if (not _param->_is_full_associative) 70 delete [] out_DECOD_VICTIM_ADDRESS ; 71 } 72 delete [] in_UPDATE_VAL ; 73 delete [] out_UPDATE_ACK ; 74 if (not _param->_is_full_associative) 75 delete [] in_UPDATE_ADDRESS_SRC ; 76 delete [] out_UPDATE_REGISTER_VAL ; 77 delete [] in_UPDATE_REGISTER_ACK ; 78 if (_param->_have_port_victim) 79 { 80 delete [] out_UPDATE_VICTIM_VAL ; 81 delete [] in_UPDATE_VICTIM_ACK ; 82 if (not _param->_is_full_associative) 83 delete [] out_UPDATE_VICTIM_ADDRESS ; 84 } 54 55 DELETE2_SIGNAL( in_PREDICT_REGISTER_HIT ,_param->_nb_inst_predict, _param->_associativity,1); 56 DELETE2_SIGNAL( in_PREDICT_REGISTER_ADDRESS_SRC ,_param->_nb_inst_predict, _param->_associativity,_param->_size_instruction_address); 57 DELETE2_SIGNAL( in_PREDICT_REGISTER_ADDRESS_DEST,_param->_nb_inst_predict, _param->_associativity,_param->_size_instruction_address); 58 DELETE2_SIGNAL( in_PREDICT_REGISTER_CONDITION ,_param->_nb_inst_predict, _param->_associativity,_param->_size_branch_condition); 59 DELETE2_SIGNAL( in_PREDICT_REGISTER_LAST_TAKE ,_param->_nb_inst_predict, _param->_associativity,1); 60 DELETE2_SIGNAL( in_PREDICT_REGISTER_IS_ACCURATE ,_param->_nb_inst_predict, _param->_associativity,1); 61 62 DELETE1_SIGNAL( in_DECOD_VAL ,_param->_nb_inst_decod,1); 63 DELETE1_SIGNAL(out_DECOD_ACK ,_param->_nb_inst_decod,1); 64 if (not _param->_is_full_associative) 65 DELETE1_SIGNAL( in_DECOD_ADDRESS_SRC ,_param->_nb_inst_decod,_param->_size_instruction_address); 66 67 DELETE1_SIGNAL(out_DECOD_REGISTER_VAL ,_param->_nb_inst_decod,1); 68 DELETE1_SIGNAL( in_DECOD_REGISTER_ACK ,_param->_nb_inst_decod,1); 69 if (_param->_have_port_victim) 70 { 71 DELETE1_SIGNAL(out_DECOD_VICTIM_VAL ,_param->_nb_inst_decod,1); 72 DELETE1_SIGNAL( in_DECOD_VICTIM_ACK ,_param->_nb_inst_decod,1); 73 DELETE1_SIGNAL(out_DECOD_VICTIM_ADDRESS,_param->_nb_inst_decod,_param->_size_victim_address); 74 } 75 76 DELETE1_SIGNAL( in_UPDATE_VAL ,_param->_nb_inst_update,1); 77 DELETE1_SIGNAL(out_UPDATE_ACK ,_param->_nb_inst_update,1); 78 if (not _param->_is_full_associative) 79 DELETE1_SIGNAL( in_UPDATE_ADDRESS_SRC ,_param->_nb_inst_update,_param->_size_instruction_address); 80 DELETE1_SIGNAL(out_UPDATE_REGISTER_VAL ,_param->_nb_inst_update,1); 81 DELETE1_SIGNAL( in_UPDATE_REGISTER_ACK ,_param->_nb_inst_update,1); 82 if (_param->_have_port_victim) 83 { 84 DELETE1_SIGNAL(out_UPDATE_VICTIM_VAL ,_param->_nb_inst_update,1); 85 DELETE1_SIGNAL( in_UPDATE_VICTIM_ACK ,_param->_nb_inst_update,1); 86 DELETE1_SIGNAL(out_UPDATE_VICTIM_ADDRESS,_param->_nb_inst_update,_param->_size_victim_address); 87 } 88 85 89 } 86 90 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Note: See TracChangeset
for help on using the changeset viewer.