Changeset 82 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/SelfTest
- Timestamp:
- May 1, 2008, 6:48:45 PM (16 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/SelfTest
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/SelfTest/config_mono_context.cfg
r81 r82 1 1 Prediction_unit_Glue 2 1 1 +1 # nb_context 3 30 30 +32 # size_address 4 1 4 *4 # nb_instruction [0] [nb_context] 5 1 4 *4 # size_depth [0] [nb_context] 6 1 1 *4 # nb_inst_predict 7 4 4 *4 # nb_inst_decod 8 4 4 *4 # nb_inst_update 2 1 1 *4 # nb_context 3 1 1 *4 # nb_decod_unit 4 30 30 +32 # size_address 5 1 1 *4 # nb_instruction [0] [nb_context] 6 1 1 *4 # size_depth [0] [nb_context] 7 4 4 *4 # nb_inst_decod [0] [nb_decod_unit] 8 1 1 *4 # nb_inst_branch_predict 9 4 4 *4 # nb_inst_branch_decod 10 4 4 *4 # nb_inst_branch_update -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/SelfTest/config_multi_context.cfg
r81 r82 1 1 Prediction_unit_Glue 2 4 4 +1 # nb_context 3 30 30 +32 # size_address 2 4 4 *4 # nb_context 3 1 1 *4 # nb_decod_unit 4 30 30 +32 # size_address 4 5 1 1 *4 # nb_instruction [0] [nb_context] 5 6 2 2 *4 # nb_instruction [1] [nb_context] … … 8 9 2 2 *4 # size_depth [0] [nb_context] 9 10 1 1 *4 # size_depth [1] [nb_context] 10 8 8*4 # size_depth [2] [nb_context]11 7 7 *4 # size_depth [2] [nb_context] 11 12 4 4 *4 # size_depth [3] [nb_context] 12 1 4 *4 # nb_inst_predict 13 4 4 *4 # nb_inst_decod 14 4 4 *4 # nb_inst_update 13 4 4 *4 # nb_inst_decod [0] [nb_decod_unit] 14 1 4 *4 # nb_inst_branch_predict 15 4 4 *4 # nb_inst_branch_decod 16 4 4 *4 # nb_inst_branch_update -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/SelfTest/src/main.cpp
r81 r82 8 8 #include "Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/SelfTest/include/test.h" 9 9 10 #define NB_PARAMS 510 #define NB_PARAMS 6 11 11 12 12 void usage (int argc, char * argv[]) … … 14 14 err (_("<Usage> %s name_instance list_params.\n"),argv[0]); 15 15 err (_("list_params is :\n")); 16 err (_(" * nb_context (uint32_t)\n")); 17 err (_(" * size_address (uint32_t)\n")); 18 err (_(" * nb_instruction [nb_context] (uint32_t)\n")); 19 err (_(" * size_depth [nb_context] (uint32_t)\n")); 20 err (_(" * nb_inst_predict (uint32_t)\n")); 21 err (_(" * nb_inst_decod (uint32_t)\n")); 22 err (_(" * nb_inst_update (uint32_t)\n")); 16 err (_(" * nb_context (uint32_t)\n")); 17 err (_(" * nb_decod_unit (uint32_t)\n")); 18 // err (_(" * nb_ooo_engine (uint32_t)\n")); 19 err (_(" * size_address (uint32_t)\n")); 20 err (_(" * nb_instruction [nb_context] (uint32_t)\n")); 21 err (_(" * size_depth [nb_context] (uint32_t)\n")); 22 err (_(" * nb_inst_decod [nb_decod_unit] (uint32_t)\n")); 23 // err (_(" * nb_inst_update [nb_ooo_engine] (uint32_t)\n")); 24 err (_(" * nb_inst_branch_predict (uint32_t)\n")); 25 err (_(" * nb_inst_branch_decod (uint32_t)\n")); 26 err (_(" * nb_inst_branch_update (uint32_t)\n")); 23 27 24 28 exit (1); … … 39 43 40 44 uint32_t _nb_context = fromString<uint32_t>(argv[x++]); 45 uint32_t _nb_decod_unit = fromString<uint32_t>(argv[x++]); 46 // uint32_t _nb_ooo_engine = fromString<uint32_t>(argv[x++]); 41 47 uint32_t _size_address = fromString<uint32_t>(argv[x++]); 42 48 43 if (argc != static_cast<int>(2+NB_PARAMS+2*_nb_context)) 49 if (argc != static_cast<int>(2+NB_PARAMS+2*_nb_context+_nb_decod_unit// +_nb_ooo_engine 50 )) 44 51 usage (argc, argv); 45 52 … … 50 57 for (uint32_t i=0; i<_nb_context; i++) 51 58 _size_depth [i] = fromString<uint32_t>(argv[x++]); 52 uint32_t _nb_inst_predict = fromString<uint32_t>(argv[x++]); 53 uint32_t _nb_inst_decod = fromString<uint32_t>(argv[x++]); 54 uint32_t _nb_inst_update = fromString<uint32_t>(argv[x++]); 59 uint32_t * _nb_inst_decod = new uint32_t [_nb_decod_unit]; 60 for (uint32_t i=0; i<_nb_decod_unit; i++) 61 _nb_inst_decod [i] = fromString<uint32_t>(argv[x++]); 62 // uint32_t * _nb_inst_update = new uint32_t [_nb_ooo_engine]; 63 // for (uint32_t i=0; i<_nb_ooo_engine; i++) 64 // _nb_inst_update [i] = fromString<uint32_t>(argv[x++]); 65 uint32_t _nb_inst_branch_predict = fromString<uint32_t>(argv[x++]); 66 uint32_t _nb_inst_branch_update = fromString<uint32_t>(argv[x++]); 67 uint32_t _nb_inst_branch_decod = fromString<uint32_t>(argv[x++]); 55 68 56 69 int _return = EXIT_SUCCESS; … … 58 71 { 59 72 morpheo::behavioural::core::multi_front_end::front_end::prediction_unit::prediction_unit_glue::Parameters * param = new morpheo::behavioural::core::multi_front_end::front_end::prediction_unit::prediction_unit_glue::Parameters 60 (_nb_context , 61 _size_address , 62 _nb_instruction , 63 _size_depth , 64 _nb_inst_predict, 65 _nb_inst_decod , 66 _nb_inst_update ); 73 (_nb_context , 74 _nb_decod_unit , 75 // _nb_ooo_engine , 76 _size_address , 77 _nb_instruction , 78 _size_depth , 79 _nb_inst_decod , 80 // _nb_inst_update , 81 _nb_inst_branch_predict, 82 _nb_inst_branch_decod , 83 _nb_inst_branch_update ); 67 84 68 85 msg(_("%s"),param->print(1).c_str()); … … 83 100 delete [] _nb_instruction; 84 101 delete [] _size_depth ; 102 delete [] _nb_inst_decod ; 103 // delete [] _nb_inst_update; 85 104 86 105 return (_return); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/SelfTest/src/test.cpp
r81 r82 63 63 ALLOC1_SC_SIGNAL(out_PREDICT_BRANCH_STATE ,"out_PREDICT_BRANCH_STATE ",Tbranch_state_t ,_param->_nb_context); 64 64 ALLOC1_SC_SIGNAL(out_PREDICT_BRANCH_UPDATE_PREDICTION_ID ,"out_PREDICT_BRANCH_UPDATE_PREDICTION_ID",Tprediction_ptr_t ,_param->_nb_context); 65 ALLOC1_SC_SIGNAL(out_PREDICT_BTB_VAL ,"out_PREDICT_BTB_VAL ",Tcontrol_t ,_param->_nb_inst_ predict);66 ALLOC1_SC_SIGNAL( in_PREDICT_BTB_ACK ," in_PREDICT_BTB_ACK ",Tcontrol_t ,_param->_nb_inst_ predict);67 ALLOC1_SC_SIGNAL(out_PREDICT_BTB_CONTEXT_ID ,"out_PREDICT_BTB_CONTEXT_ID ",Tcontext_t ,_param->_nb_inst_ predict);68 ALLOC1_SC_SIGNAL(out_PREDICT_BTB_ADDRESS ,"out_PREDICT_BTB_ADDRESS ",Taddress_t ,_param->_nb_inst_ predict);69 ALLOC1_SC_SIGNAL( in_PREDICT_BTB_HIT ," in_PREDICT_BTB_HIT ",Tcontrol_t ,_param->_nb_inst_ predict);70 ALLOC1_SC_SIGNAL( in_PREDICT_BTB_ADDRESS_SRC ," in_PREDICT_BTB_ADDRESS_SRC ",Taddress_t ,_param->_nb_inst_ predict);71 ALLOC1_SC_SIGNAL( in_PREDICT_BTB_ADDRESS_DEST ," in_PREDICT_BTB_ADDRESS_DEST ",Taddress_t ,_param->_nb_inst_ predict);72 ALLOC1_SC_SIGNAL( in_PREDICT_BTB_CONDITION ," in_PREDICT_BTB_CONDITION ",Tbranch_condition_t,_param->_nb_inst_ predict);73 //ALLOC1_SC_SIGNAL( in_PREDICT_BTB_LAST_TAKE ," in_PREDICT_BTB_LAST_TAKE ",Tcontrol_t ,_param->_nb_inst_ predict);74 ALLOC1_SC_SIGNAL( in_PREDICT_BTB_IS_ACCURATE ," in_PREDICT_BTB_IS_ACCURATE ",Tcontrol_t ,_param->_nb_inst_ predict);75 ALLOC1_SC_SIGNAL(out_PREDICT_DIR_VAL ,"out_PREDICT_DIR_VAL ",Tcontrol_t ,_param->_nb_inst_ predict);76 ALLOC1_SC_SIGNAL( in_PREDICT_DIR_ACK ," in_PREDICT_DIR_ACK ",Tcontrol_t ,_param->_nb_inst_ predict);77 ALLOC1_SC_SIGNAL(out_PREDICT_DIR_ADDRESS_SRC ,"out_PREDICT_DIR_ADDRESS_SRC ",Taddress_t ,_param->_nb_inst_ predict);78 ALLOC1_SC_SIGNAL(out_PREDICT_DIR_STATIC ,"out_PREDICT_DIR_STATIC ",Tcontrol_t ,_param->_nb_inst_ predict);79 //ALLOC1_SC_SIGNAL(out_PREDICT_DIR_LAST_TAKE ,"out_PREDICT_DIR_LAST_TAKE ",Tcontrol_t ,_param->_nb_inst_ predict);80 //ALLOC1_SC_SIGNAL( in_PREDICT_DIR_HISTORY ," in_PREDICT_DIR_HISTORY ",Thistory_t ,_param->_nb_inst_ predict);81 ALLOC1_SC_SIGNAL( in_PREDICT_DIR_DIRECTION ," in_PREDICT_DIR_DIRECTION ",Tcontrol_t ,_param->_nb_inst_ predict);82 ALLOC1_SC_SIGNAL(out_PREDICT_RAS_VAL ,"out_PREDICT_RAS_VAL ",Tcontrol_t ,_param->_nb_inst_ predict);83 ALLOC1_SC_SIGNAL( in_PREDICT_RAS_ACK ," in_PREDICT_RAS_ACK ",Tcontrol_t ,_param->_nb_inst_ predict);84 ALLOC1_SC_SIGNAL(out_PREDICT_RAS_CONTEXT_ID ,"out_PREDICT_RAS_CONTEXT_ID ",Tcontext_t ,_param->_nb_inst_ predict);85 ALLOC1_SC_SIGNAL( in_PREDICT_RAS_HIT ," in_PREDICT_RAS_HIT ",Tcontrol_t ,_param->_nb_inst_ predict);86 ALLOC1_SC_SIGNAL(out_PREDICT_RAS_PUSH ,"out_PREDICT_RAS_PUSH ",Tcontrol_t ,_param->_nb_inst_ predict);87 ALLOC1_SC_SIGNAL(out_PREDICT_RAS_ADDRESS_PUSH ,"out_PREDICT_RAS_ADDRESS_PUSH ",Taddress_t ,_param->_nb_inst_ predict);88 ALLOC1_SC_SIGNAL( in_PREDICT_RAS_ADDRESS_POP ," in_PREDICT_RAS_ADDRESS_POP ",Taddress_t ,_param->_nb_inst_ predict);89 //ALLOC1_SC_SIGNAL( in_PREDICT_RAS_INDEX ," in_PREDICT_RAS_INDEX ",Tptr_t ,_param->_nb_inst_ predict);90 ALLOC1_SC_SIGNAL(out_PREDICT_UPT_VAL ,"out_PREDICT_UPT_VAL ",Tcontrol_t ,_param->_nb_inst_ predict);91 ALLOC1_SC_SIGNAL( in_PREDICT_UPT_ACK ," in_PREDICT_UPT_ACK ",Tcontrol_t ,_param->_nb_inst_ predict);92 ALLOC1_SC_SIGNAL(out_PREDICT_UPT_CONTEXT_ID ,"out_PREDICT_UPT_CONTEXT_ID ",Tcontext_t ,_param->_nb_inst_ predict);93 ALLOC1_SC_SIGNAL(out_PREDICT_UPT_BTB_ADDRESS_SRC ,"out_PREDICT_UPT_BTB_ADDRESS_SRC ",Taddress_t ,_param->_nb_inst_ predict);94 ALLOC1_SC_SIGNAL(out_PREDICT_UPT_BTB_ADDRESS_DEST ,"out_PREDICT_UPT_BTB_ADDRESS_DEST ",Taddress_t ,_param->_nb_inst_ predict);95 ALLOC1_SC_SIGNAL(out_PREDICT_UPT_BTB_CONDITION ,"out_PREDICT_UPT_BTB_CONDITION ",Tbranch_condition_t,_param->_nb_inst_ predict);96 ALLOC1_SC_SIGNAL(out_PREDICT_UPT_BTB_LAST_TAKE ,"out_PREDICT_UPT_BTB_LAST_TAKE ",Tcontrol_t ,_param->_nb_inst_ predict);97 ALLOC1_SC_SIGNAL(out_PREDICT_UPT_BTB_IS_ACCURATE ,"out_PREDICT_UPT_BTB_IS_ACCURATE ",Tcontrol_t ,_param->_nb_inst_ predict);98 //ALLOC1_SC_SIGNAL(out_PREDICT_UPT_DIR_HISTORY ,"out_PREDICT_UPT_DIR_HISTORY ",Thistory_t ,_param->_nb_inst_ predict);99 ALLOC1_SC_SIGNAL(out_PREDICT_UPT_RAS_ADDRESS ,"out_PREDICT_UPT_RAS_ADDRESS ",Taddress_t ,_param->_nb_inst_ predict);100 //ALLOC1_SC_SIGNAL(out_PREDICT_UPT_RAS_INDEX ,"out_PREDICT_UPT_RAS_INDEX ",Tptr_t ,_param->_nb_inst_ predict);65 ALLOC1_SC_SIGNAL(out_PREDICT_BTB_VAL ,"out_PREDICT_BTB_VAL ",Tcontrol_t ,_param->_nb_inst_branch_predict); 66 ALLOC1_SC_SIGNAL( in_PREDICT_BTB_ACK ," in_PREDICT_BTB_ACK ",Tcontrol_t ,_param->_nb_inst_branch_predict); 67 ALLOC1_SC_SIGNAL(out_PREDICT_BTB_CONTEXT_ID ,"out_PREDICT_BTB_CONTEXT_ID ",Tcontext_t ,_param->_nb_inst_branch_predict); 68 ALLOC1_SC_SIGNAL(out_PREDICT_BTB_ADDRESS ,"out_PREDICT_BTB_ADDRESS ",Taddress_t ,_param->_nb_inst_branch_predict); 69 ALLOC1_SC_SIGNAL( in_PREDICT_BTB_HIT ," in_PREDICT_BTB_HIT ",Tcontrol_t ,_param->_nb_inst_branch_predict); 70 ALLOC1_SC_SIGNAL( in_PREDICT_BTB_ADDRESS_SRC ," in_PREDICT_BTB_ADDRESS_SRC ",Taddress_t ,_param->_nb_inst_branch_predict); 71 ALLOC1_SC_SIGNAL( in_PREDICT_BTB_ADDRESS_DEST ," in_PREDICT_BTB_ADDRESS_DEST ",Taddress_t ,_param->_nb_inst_branch_predict); 72 ALLOC1_SC_SIGNAL( in_PREDICT_BTB_CONDITION ," in_PREDICT_BTB_CONDITION ",Tbranch_condition_t,_param->_nb_inst_branch_predict); 73 //ALLOC1_SC_SIGNAL( in_PREDICT_BTB_LAST_TAKE ," in_PREDICT_BTB_LAST_TAKE ",Tcontrol_t ,_param->_nb_inst_branch_predict); 74 ALLOC1_SC_SIGNAL( in_PREDICT_BTB_IS_ACCURATE ," in_PREDICT_BTB_IS_ACCURATE ",Tcontrol_t ,_param->_nb_inst_branch_predict); 75 ALLOC1_SC_SIGNAL(out_PREDICT_DIR_VAL ,"out_PREDICT_DIR_VAL ",Tcontrol_t ,_param->_nb_inst_branch_predict); 76 ALLOC1_SC_SIGNAL( in_PREDICT_DIR_ACK ," in_PREDICT_DIR_ACK ",Tcontrol_t ,_param->_nb_inst_branch_predict); 77 ALLOC1_SC_SIGNAL(out_PREDICT_DIR_ADDRESS_SRC ,"out_PREDICT_DIR_ADDRESS_SRC ",Taddress_t ,_param->_nb_inst_branch_predict); 78 ALLOC1_SC_SIGNAL(out_PREDICT_DIR_STATIC ,"out_PREDICT_DIR_STATIC ",Tcontrol_t ,_param->_nb_inst_branch_predict); 79 //ALLOC1_SC_SIGNAL(out_PREDICT_DIR_LAST_TAKE ,"out_PREDICT_DIR_LAST_TAKE ",Tcontrol_t ,_param->_nb_inst_branch_predict); 80 //ALLOC1_SC_SIGNAL( in_PREDICT_DIR_HISTORY ," in_PREDICT_DIR_HISTORY ",Thistory_t ,_param->_nb_inst_branch_predict); 81 ALLOC1_SC_SIGNAL( in_PREDICT_DIR_DIRECTION ," in_PREDICT_DIR_DIRECTION ",Tcontrol_t ,_param->_nb_inst_branch_predict); 82 ALLOC1_SC_SIGNAL(out_PREDICT_RAS_VAL ,"out_PREDICT_RAS_VAL ",Tcontrol_t ,_param->_nb_inst_branch_predict); 83 ALLOC1_SC_SIGNAL( in_PREDICT_RAS_ACK ," in_PREDICT_RAS_ACK ",Tcontrol_t ,_param->_nb_inst_branch_predict); 84 ALLOC1_SC_SIGNAL(out_PREDICT_RAS_CONTEXT_ID ,"out_PREDICT_RAS_CONTEXT_ID ",Tcontext_t ,_param->_nb_inst_branch_predict); 85 ALLOC1_SC_SIGNAL( in_PREDICT_RAS_HIT ," in_PREDICT_RAS_HIT ",Tcontrol_t ,_param->_nb_inst_branch_predict); 86 ALLOC1_SC_SIGNAL(out_PREDICT_RAS_PUSH ,"out_PREDICT_RAS_PUSH ",Tcontrol_t ,_param->_nb_inst_branch_predict); 87 ALLOC1_SC_SIGNAL(out_PREDICT_RAS_ADDRESS_PUSH ,"out_PREDICT_RAS_ADDRESS_PUSH ",Taddress_t ,_param->_nb_inst_branch_predict); 88 ALLOC1_SC_SIGNAL( in_PREDICT_RAS_ADDRESS_POP ," in_PREDICT_RAS_ADDRESS_POP ",Taddress_t ,_param->_nb_inst_branch_predict); 89 //ALLOC1_SC_SIGNAL( in_PREDICT_RAS_INDEX ," in_PREDICT_RAS_INDEX ",Tptr_t ,_param->_nb_inst_branch_predict); 90 ALLOC1_SC_SIGNAL(out_PREDICT_UPT_VAL ,"out_PREDICT_UPT_VAL ",Tcontrol_t ,_param->_nb_inst_branch_predict); 91 ALLOC1_SC_SIGNAL( in_PREDICT_UPT_ACK ," in_PREDICT_UPT_ACK ",Tcontrol_t ,_param->_nb_inst_branch_predict); 92 ALLOC1_SC_SIGNAL(out_PREDICT_UPT_CONTEXT_ID ,"out_PREDICT_UPT_CONTEXT_ID ",Tcontext_t ,_param->_nb_inst_branch_predict); 93 ALLOC1_SC_SIGNAL(out_PREDICT_UPT_BTB_ADDRESS_SRC ,"out_PREDICT_UPT_BTB_ADDRESS_SRC ",Taddress_t ,_param->_nb_inst_branch_predict); 94 ALLOC1_SC_SIGNAL(out_PREDICT_UPT_BTB_ADDRESS_DEST ,"out_PREDICT_UPT_BTB_ADDRESS_DEST ",Taddress_t ,_param->_nb_inst_branch_predict); 95 ALLOC1_SC_SIGNAL(out_PREDICT_UPT_BTB_CONDITION ,"out_PREDICT_UPT_BTB_CONDITION ",Tbranch_condition_t,_param->_nb_inst_branch_predict); 96 ALLOC1_SC_SIGNAL(out_PREDICT_UPT_BTB_LAST_TAKE ,"out_PREDICT_UPT_BTB_LAST_TAKE ",Tcontrol_t ,_param->_nb_inst_branch_predict); 97 ALLOC1_SC_SIGNAL(out_PREDICT_UPT_BTB_IS_ACCURATE ,"out_PREDICT_UPT_BTB_IS_ACCURATE ",Tcontrol_t ,_param->_nb_inst_branch_predict); 98 //ALLOC1_SC_SIGNAL(out_PREDICT_UPT_DIR_HISTORY ,"out_PREDICT_UPT_DIR_HISTORY ",Thistory_t ,_param->_nb_inst_branch_predict); 99 ALLOC1_SC_SIGNAL(out_PREDICT_UPT_RAS_ADDRESS ,"out_PREDICT_UPT_RAS_ADDRESS ",Taddress_t ,_param->_nb_inst_branch_predict); 100 //ALLOC1_SC_SIGNAL(out_PREDICT_UPT_RAS_INDEX ,"out_PREDICT_UPT_RAS_INDEX ",Tptr_t ,_param->_nb_inst_branch_predict); 101 101 ALLOC1_SC_SIGNAL( in_DEPTH_UPT_NB_BRANCH ," in_DEPTH_UPT_NB_BRANCH ",Tdepth_t ,_param->_nb_context); 102 102 ALLOC1_SC_SIGNAL( in_DEPTH_UPT_TAIL ," in_DEPTH_UPT_TAIL ",Tdepth_t ,_param->_nb_context); 103 ALLOC1_SC_SIGNAL(out_DEPTH_NB_BRANCH ,"out_DEPTH_NB_BRANCH ",Tdepth_t ,_param->_nb_context); 104 ALLOC1_SC_SIGNAL(out_DEPTH_TAIL ,"out_DEPTH_TAIL ",Tdepth_t ,_param->_nb_context); 105 106 ALLOC2_SC_SIGNAL( in_DECOD_VAL ," in_DECOD_VAL ",Tcontrol_t ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 107 ALLOC2_SC_SIGNAL(out_DECOD_ACK ,"out_DECOD_ACK ",Tcontrol_t ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 108 ALLOC2_SC_SIGNAL( in_DECOD_CONTEXT_ID ," in_DECOD_CONTEXT_ID ",Tcontext_t ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 109 ALLOC2_SC_SIGNAL( in_DECOD_MATCH_INST_IFETCH_PTR ," in_DECOD_MATCH_INST_IFETCH_PTR ",Tcontrol_t ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 110 ALLOC2_SC_SIGNAL( in_DECOD_BRANCH_STATE ," in_DECOD_BRANCH_STATE ",Tbranch_state_t ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 111 ALLOC2_SC_SIGNAL( in_DECOD_BRANCH_UPDATE_PREDICTION_ID," in_DECOD_BRANCH_UPDATE_PREDICTION_ID",Tprediction_ptr_t ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 112 ALLOC2_SC_SIGNAL( in_DECOD_BRANCH_CONDITION ," in_DECOD_BRANCH_CONDITION ",Tbranch_condition_t,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 113 ALLOC2_SC_SIGNAL( in_DECOD_BRANCH_DIRECTION ," in_DECOD_BRANCH_DIRECTION ",Tcontrol_t ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 114 ALLOC2_SC_SIGNAL( in_DECOD_ADDRESS_SRC ," in_DECOD_ADDRESS_SRC ",Taddress_t ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 115 ALLOC2_SC_SIGNAL( in_DECOD_ADDRESS_DEST ," in_DECOD_ADDRESS_DEST ",Taddress_t ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 116 ALLOC1_SC_SIGNAL(out_DECOD_BTB_VAL ,"out_DECOD_BTB_VAL ",Tcontrol_t ,_param->_nb_inst_branch_decod); 117 ALLOC1_SC_SIGNAL( in_DECOD_BTB_ACK ," in_DECOD_BTB_ACK ",Tcontrol_t ,_param->_nb_inst_branch_decod); 118 ALLOC1_SC_SIGNAL(out_DECOD_BTB_CONTEXT_ID ,"out_DECOD_BTB_CONTEXT_ID ",Tcontext_t ,_param->_nb_inst_branch_decod); 119 ALLOC1_SC_SIGNAL(out_DECOD_BTB_ADDRESS_SRC ,"out_DECOD_BTB_ADDRESS_SRC ",Taddress_t ,_param->_nb_inst_branch_decod); 120 ALLOC1_SC_SIGNAL(out_DECOD_BTB_ADDRESS_DEST ,"out_DECOD_BTB_ADDRESS_DEST ",Taddress_t ,_param->_nb_inst_branch_decod); 121 ALLOC1_SC_SIGNAL(out_DECOD_BTB_CONDITION ,"out_DECOD_BTB_CONDITION ",Tbranch_condition_t,_param->_nb_inst_branch_decod); 122 ALLOC1_SC_SIGNAL(out_DECOD_BTB_LAST_TAKE ,"out_DECOD_BTB_LAST_TAKE ",Tcontrol_t ,_param->_nb_inst_branch_decod); 123 ALLOC1_SC_SIGNAL(out_DECOD_BTB_MISS_PREDICTION ,"out_DECOD_BTB_MISS_PREDICTION ",Tcontrol_t ,_param->_nb_inst_branch_decod); 124 ALLOC1_SC_SIGNAL(out_DECOD_BTB_IS_ACCURATE ,"out_DECOD_BTB_IS_ACCURATE ",Tcontrol_t ,_param->_nb_inst_branch_decod); 125 ALLOC1_SC_SIGNAL(out_DECOD_RAS_VAL ,"out_DECOD_RAS_VAL ",Tcontrol_t ,_param->_nb_inst_branch_decod); 126 ALLOC1_SC_SIGNAL( in_DECOD_RAS_ACK ," in_DECOD_RAS_ACK ",Tcontrol_t ,_param->_nb_inst_branch_decod); 127 ALLOC1_SC_SIGNAL(out_DECOD_RAS_CONTEXT_ID ,"out_DECOD_RAS_CONTEXT_ID ",Tcontext_t ,_param->_nb_inst_branch_decod); 128 ALLOC1_SC_SIGNAL( in_DECOD_RAS_HIT ," in_DECOD_RAS_HIT ",Tcontrol_t ,_param->_nb_inst_branch_decod); 129 ALLOC1_SC_SIGNAL(out_DECOD_RAS_PUSH ,"out_DECOD_RAS_PUSH ",Tcontrol_t ,_param->_nb_inst_branch_decod); 130 ALLOC1_SC_SIGNAL(out_DECOD_RAS_ADDRESS_PUSH ,"out_DECOD_RAS_ADDRESS_PUSH ",Taddress_t ,_param->_nb_inst_branch_decod); 131 ALLOC1_SC_SIGNAL( in_DECOD_RAS_ADDRESS_POP ," in_DECOD_RAS_ADDRESS_POP ",Taddress_t ,_param->_nb_inst_branch_decod); 132 //ALLOC1_SC_SIGNAL( in_DECOD_RAS_INDEX ," in_DECOD_RAS_INDEX ",Tptr_t ,_param->_nb_inst_branch_decod); 133 ALLOC1_SC_SIGNAL(out_DECOD_RAS_MISS_PREDICTION ,"out_DECOD_RAS_MISS_PREDICTION ",Tcontrol_t ,_param->_nb_inst_branch_decod); 134 ALLOC1_SC_SIGNAL(out_DECOD_UPT_VAL ,"out_DECOD_UPT_VAL ",Tcontrol_t ,_param->_nb_inst_branch_decod); 135 ALLOC1_SC_SIGNAL( in_DECOD_UPT_ACK ," in_DECOD_UPT_ACK ",Tcontrol_t ,_param->_nb_inst_branch_decod); 136 ALLOC1_SC_SIGNAL(out_DECOD_UPT_CONTEXT_ID ,"out_DECOD_UPT_CONTEXT_ID ",Tcontext_t ,_param->_nb_inst_branch_decod); 137 ALLOC1_SC_SIGNAL(out_DECOD_UPT_BTB_ADDRESS_SRC ,"out_DECOD_UPT_BTB_ADDRESS_SRC ",Taddress_t ,_param->_nb_inst_branch_decod); 138 ALLOC1_SC_SIGNAL(out_DECOD_UPT_BTB_ADDRESS_DEST ,"out_DECOD_UPT_BTB_ADDRESS_DEST ",Taddress_t ,_param->_nb_inst_branch_decod); 139 ALLOC1_SC_SIGNAL(out_DECOD_UPT_BTB_CONDITION ,"out_DECOD_UPT_BTB_CONDITION ",Tbranch_condition_t,_param->_nb_inst_branch_decod); 140 ALLOC1_SC_SIGNAL(out_DECOD_UPT_BTB_LAST_TAKE ,"out_DECOD_UPT_BTB_LAST_TAKE ",Tcontrol_t ,_param->_nb_inst_branch_decod); 141 ALLOC1_SC_SIGNAL(out_DECOD_UPT_RAS_ADDRESS ,"out_DECOD_UPT_RAS_ADDRESS ",Taddress_t ,_param->_nb_inst_branch_decod); 142 //ALLOC1_SC_SIGNAL(out_DECOD_UPT_RAS_INDEX ,"out_DECOD_UPT_RAS_INDEX ",Tptr_t ,_param->_nb_inst_branch_decod); 143 ALLOC1_SC_SIGNAL(out_DECOD_UPT_MISS_IFETCH ,"out_DECOD_UPT_MISS_IFETCH ",Tcontrol_t ,_param->_nb_inst_branch_decod); 144 ALLOC1_SC_SIGNAL(out_DECOD_UPT_MISS_DECOD ,"out_DECOD_UPT_MISS_DECOD ",Tcontrol_t ,_param->_nb_inst_branch_decod); 145 ALLOC1_SC_SIGNAL(out_DECOD_UPT_UPDATE_PREDICTION_ID ,"out_DECOD_UPT_UPDATE_PREDICTION_ID ",Tprediction_ptr_t ,_param->_nb_inst_branch_decod); 103 146 147 ALLOC1_SC_SIGNAL(out_UPDATE_BTB_VAL ,"out_UPDATE_BTB_VAL ",Tcontrol_t ,_param->_nb_inst_branch_update); 148 ALLOC1_SC_SIGNAL( in_UPDATE_BTB_ACK ," in_UPDATE_BTB_ACK ",Tcontrol_t ,_param->_nb_inst_branch_update); 149 //ALLOC1_SC_SIGNAL(out_UPDATE_BTB_CONTEXT_ID ,"out_UPDATE_BTB_CONTEXT_ID ",Tcontext_t ,_param->_nb_inst_branch_update); 150 //ALLOC1_SC_SIGNAL(out_UPDATE_BTB_ADDRESS_SRC ,"out_UPDATE_BTB_ADDRESS_SRC ",Taddress_t ,_param->_nb_inst_branch_update); 151 //ALLOC1_SC_SIGNAL(out_UPDATE_BTB_ADDRESS_DEST ,"out_UPDATE_BTB_ADDRESS_DEST ",Taddress_t ,_param->_nb_inst_branch_update); 152 //ALLOC1_SC_SIGNAL(out_UPDATE_BTB_CONDITION ,"out_UPDATE_BTB_CONDITION ",Tbranch_condition_t,_param->_nb_inst_branch_update); 153 //ALLOC1_SC_SIGNAL(out_UPDATE_BTB_LAST_TAKE ,"out_UPDATE_BTB_LAST_TAKE ",Tcontrol_t ,_param->_nb_inst_branch_update); 154 //ALLOC1_SC_SIGNAL(out_UPDATE_BTB_MISS_PREDICTION ,"out_UPDATE_BTB_MISS_PREDICTION ",Tcontrol_t ,_param->_nb_inst_branch_update); 155 ALLOC1_SC_SIGNAL(out_UPDATE_DIR_VAL ,"out_UPDATE_DIR_VAL ",Tcontrol_t ,_param->_nb_inst_branch_update); 156 ALLOC1_SC_SIGNAL( in_UPDATE_DIR_ACK ," in_UPDATE_DIR_ACK ",Tcontrol_t ,_param->_nb_inst_branch_update); 157 //ALLOC1_SC_SIGNAL(out_UPDATE_DIR_ADDRESS ,"out_UPDATE_DIR_ADDRESS ",Taddress_t ,_param->_nb_inst_branch_update); 158 //ALLOC1_SC_SIGNAL(out_UPDATE_DIR_HISTORY ,"out_UPDATE_DIR_HISTORY ",Thistory_t ,_param->_nb_inst_branch_update); 159 //ALLOC1_SC_SIGNAL(out_UPDATE_DIR_DIRECTION ,"out_UPDATE_DIR_DIRECTION ",Tcontrol_t ,_param->_nb_inst_branch_update); 160 ALLOC1_SC_SIGNAL(out_UPDATE_RAS_VAL ,"out_UPDATE_RAS_VAL ",Tcontrol_t ,_param->_nb_inst_branch_update); 161 ALLOC1_SC_SIGNAL( in_UPDATE_RAS_ACK ," in_UPDATE_RAS_ACK ",Tcontrol_t ,_param->_nb_inst_branch_update); 162 //ALLOC1_SC_SIGNAL(out_UPDATE_RAS_CONTEXT_ID ,"out_UPDATE_RAS_CONTEXT_ID ",Tcontext_t ,_param->_nb_inst_branch_update); 163 //ALLOC1_SC_SIGNAL(out_UPDATE_RAS_PUSH ,"out_UPDATE_RAS_PUSH ",Tcontrol_t ,_param->_nb_inst_branch_update); 164 //ALLOC1_SC_SIGNAL(out_UPDATE_RAS_ADDRESS ,"out_UPDATE_RAS_ADDRESS ",Taddress_t ,_param->_nb_inst_branch_update); 165 //ALLOC1_SC_SIGNAL(out_UPDATE_RAS_INDEX ,"out_UPDATE_RAS_INDEX ",Tptr_t ,_param->_nb_inst_branch_update); 166 //ALLOC1_SC_SIGNAL(out_UPDATE_RAS_MISS_PREDICTION ,"out_UPDATE_RAS_MISS_PREDICTION ",Tcontrol_t ,_param->_nb_inst_branch_update); 167 //ALLOC1_SC_SIGNAL(out_UPDATE_RAS_PREDICTION_IFETCH ,"out_UPDATE_RAS_PREDICTION_IFETCH ",Tcontrol_t ,_param->_nb_inst_branch_update); 168 ALLOC1_SC_SIGNAL( in_UPDATE_UPT_VAL ," in_UPDATE_UPT_VAL ",Tcontrol_t ,_param->_nb_inst_branch_update); 169 ALLOC1_SC_SIGNAL(out_UPDATE_UPT_ACK ,"out_UPDATE_UPT_ACK ",Tcontrol_t ,_param->_nb_inst_branch_update); 170 //ALLOC1_SC_SIGNAL( in_UPDATE_UPT_CONTEXT_ID ," in_UPDATE_UPT_CONTEXT_ID ",Tcontext_t ,_param->_nb_inst_branch_update); 171 //ALLOC1_SC_SIGNAL( in_UPDATE_UPT_MISS_PREDICTION ," in_UPDATE_UPT_MISS_PREDICTION ",Tcontrol_t ,_param->_nb_inst_branch_update); 172 //ALLOC1_SC_SIGNAL( in_UPDATE_UPT_DIRECTION_GOOD ," in_UPDATE_UPT_DIRECTION_GOOD ",Tcontrol_t ,_param->_nb_inst_branch_update); 173 ALLOC1_SC_SIGNAL( in_UPDATE_UPT_BTB_VAL ," in_UPDATE_UPT_BTB_VAL ",Tcontrol_t ,_param->_nb_inst_branch_update); 174 //ALLOC1_SC_SIGNAL( in_UPDATE_UPT_BTB_ADDRESS_SRC ," in_UPDATE_UPT_BTB_ADDRESS_SRC ",Taddress_t ,_param->_nb_inst_branch_update); 175 //ALLOC1_SC_SIGNAL( in_UPDATE_UPT_BTB_ADDRESS_DEST ," in_UPDATE_UPT_BTB_ADDRESS_DEST ",Taddress_t ,_param->_nb_inst_branch_update); 176 //ALLOC1_SC_SIGNAL( in_UPDATE_UPT_BTB_CONDITION ," in_UPDATE_UPT_BTB_CONDITION ",Tbranch_condition_t,_param->_nb_inst_branch_update); 177 ALLOC1_SC_SIGNAL( in_UPDATE_UPT_DIR_VAL ," in_UPDATE_UPT_DIR_VAL ",Tcontrol_t ,_param->_nb_inst_branch_update); 178 //ALLOC1_SC_SIGNAL( in_UPDATE_UPT_DIR_HISTORY ," in_UPDATE_UPT_DIR_HISTORY ",Thistory_t ,_param->_nb_inst_branch_update); 179 ALLOC1_SC_SIGNAL( in_UPDATE_UPT_RAS_VAL ," in_UPDATE_UPT_RAS_VAL ",Tcontrol_t ,_param->_nb_inst_branch_update); 180 //ALLOC1_SC_SIGNAL( in_UPDATE_UPT_RAS_PUSH ," in_UPDATE_UPT_RAS_PUSH ",Tcontrol_t ,_param->_nb_inst_branch_update); 181 //ALLOC1_SC_SIGNAL( in_UPDATE_UPT_RAS_ADDRESS ," in_UPDATE_UPT_RAS_ADDRESS ",Taddress_t ,_param->_nb_inst_branch_update); 182 //ALLOC1_SC_SIGNAL( in_UPDATE_UPT_RAS_INDEX ," in_UPDATE_UPT_RAS_INDEX ",Tptr_t ,_param->_nb_inst_branch_update); 183 //ALLOC1_SC_SIGNAL( in_UPDATE_UPT_RAS_PREDICTION_IFETCH," in_UPDATE_UPT_RAS_PREDICTION_IFETCH",Tcontrol_t ,_param->_nb_inst_branch_update); 184 104 185 /******************************************************** 105 186 * Instanciation … … 119 200 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_PC_NEXT_IS_DS_TAKE ,_param->_nb_context); 120 201 INSTANCE2_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_INSTRUCTION_ENABLE ,_param->_nb_context,_param->_nb_instruction[alloc_signal_it1]); 202 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_BRANCH_STATE ,_param->_nb_context); 121 203 for (uint32_t i=0; i<_param->_nb_context; i++) 122 204 { … … 126 208 INSTANCE_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_BRANCH_UPDATE_PREDICTION_ID [i]); 127 209 } 128 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_BRANCH_STATE ,_param->_nb_context); 129 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_BTB_VAL ,_param->_nb_inst_ predict);130 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_BTB_ACK ,_param->_nb_inst_ predict);210 211 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_BTB_VAL ,_param->_nb_inst_branch_predict); 212 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_BTB_ACK ,_param->_nb_inst_branch_predict); 131 213 if (_param->_have_port_context_id) 132 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_BTB_CONTEXT_ID ,_param->_nb_inst_predict); 133 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_BTB_ADDRESS ,_param->_nb_inst_predict); 134 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_BTB_HIT ,_param->_nb_inst_predict); 135 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_BTB_ADDRESS_SRC ,_param->_nb_inst_predict); 136 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_BTB_ADDRESS_DEST ,_param->_nb_inst_predict); 137 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_BTB_CONDITION ,_param->_nb_inst_predict); 138 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_BTB_LAST_TAKE ,_param->_nb_inst_predict); 139 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_BTB_IS_ACCURATE ,_param->_nb_inst_predict); 140 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_DIR_VAL ,_param->_nb_inst_predict); 141 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_DIR_ACK ,_param->_nb_inst_predict); 142 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_DIR_ADDRESS_SRC ,_param->_nb_inst_predict); 143 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_DIR_STATIC ,_param->_nb_inst_predict); 144 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_DIR_LAST_TAKE ,_param->_nb_inst_predict); 145 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_DIR_HISTORY ,_param->_nb_inst_predict); 146 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_DIR_DIRECTION ,_param->_nb_inst_predict); 147 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_RAS_VAL ,_param->_nb_inst_predict); 148 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_RAS_ACK ,_param->_nb_inst_predict); 214 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_BTB_CONTEXT_ID ,_param->_nb_inst_branch_predict); 215 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_BTB_ADDRESS ,_param->_nb_inst_branch_predict); 216 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_BTB_HIT ,_param->_nb_inst_branch_predict); 217 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_BTB_ADDRESS_SRC ,_param->_nb_inst_branch_predict); 218 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_BTB_ADDRESS_DEST ,_param->_nb_inst_branch_predict); 219 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_BTB_CONDITION ,_param->_nb_inst_branch_predict); 220 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_BTB_LAST_TAKE ,_param->_nb_inst_branch_predict); 221 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_BTB_IS_ACCURATE ,_param->_nb_inst_branch_predict); 222 223 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_DIR_VAL ,_param->_nb_inst_branch_predict); 224 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_DIR_ACK ,_param->_nb_inst_branch_predict); 225 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_DIR_ADDRESS_SRC ,_param->_nb_inst_branch_predict); 226 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_DIR_STATIC ,_param->_nb_inst_branch_predict); 227 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_DIR_LAST_TAKE ,_param->_nb_inst_branch_predict); 228 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_DIR_HISTORY ,_param->_nb_inst_branch_predict); 229 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_DIR_DIRECTION ,_param->_nb_inst_branch_predict); 230 231 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_RAS_VAL ,_param->_nb_inst_branch_predict); 232 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_RAS_ACK ,_param->_nb_inst_branch_predict); 233 149 234 if (_param->_have_port_context_id) 150 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_RAS_CONTEXT_ID ,_param->_nb_inst_ predict);151 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_RAS_HIT ,_param->_nb_inst_ predict);152 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_RAS_PUSH ,_param->_nb_inst_ predict);153 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_RAS_ADDRESS_PUSH ,_param->_nb_inst_ predict);154 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_RAS_ADDRESS_POP ,_param->_nb_inst_ predict);155 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_RAS_INDEX ,_param->_nb_inst_ predict);156 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_UPT_VAL ,_param->_nb_inst_ predict);157 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_UPT_ACK ,_param->_nb_inst_ predict);235 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_RAS_CONTEXT_ID ,_param->_nb_inst_branch_predict); 236 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_RAS_HIT ,_param->_nb_inst_branch_predict); 237 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_RAS_PUSH ,_param->_nb_inst_branch_predict); 238 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_RAS_ADDRESS_PUSH ,_param->_nb_inst_branch_predict); 239 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_RAS_ADDRESS_POP ,_param->_nb_inst_branch_predict); 240 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_RAS_INDEX ,_param->_nb_inst_branch_predict); 241 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_UPT_VAL ,_param->_nb_inst_branch_predict); 242 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_PREDICT_UPT_ACK ,_param->_nb_inst_branch_predict); 158 243 if (_param->_have_port_context_id) 159 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_UPT_CONTEXT_ID ,_param->_nb_inst_predict); 160 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_UPT_BTB_ADDRESS_SRC ,_param->_nb_inst_predict); 161 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_UPT_BTB_ADDRESS_DEST ,_param->_nb_inst_predict); 162 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_UPT_BTB_CONDITION ,_param->_nb_inst_predict); 163 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_UPT_BTB_LAST_TAKE ,_param->_nb_inst_predict); 164 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_UPT_BTB_IS_ACCURATE ,_param->_nb_inst_predict); 165 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_UPT_DIR_HISTORY ,_param->_nb_inst_predict); 166 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_UPT_RAS_ADDRESS ,_param->_nb_inst_predict); 167 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_UPT_RAS_INDEX ,_param->_nb_inst_predict); 244 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_UPT_CONTEXT_ID ,_param->_nb_inst_branch_predict); 245 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_UPT_BTB_ADDRESS_SRC ,_param->_nb_inst_branch_predict); 246 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_UPT_BTB_ADDRESS_DEST ,_param->_nb_inst_branch_predict); 247 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_UPT_BTB_CONDITION ,_param->_nb_inst_branch_predict); 248 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_UPT_BTB_LAST_TAKE ,_param->_nb_inst_branch_predict); 249 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_UPT_BTB_IS_ACCURATE ,_param->_nb_inst_branch_predict); 250 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_UPT_DIR_HISTORY ,_param->_nb_inst_branch_predict); 251 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_UPT_RAS_ADDRESS ,_param->_nb_inst_branch_predict); 252 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_PREDICT_UPT_RAS_INDEX ,_param->_nb_inst_branch_predict); 253 254 INSTANCE2_SC_SIGNAL(_Prediction_unit_Glue, in_DECOD_VAL ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 255 INSTANCE2_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_ACK ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 256 if (_param->_have_port_context_id) 257 INSTANCE2_SC_SIGNAL(_Prediction_unit_Glue, in_DECOD_CONTEXT_ID ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 258 INSTANCE2_SC_SIGNAL(_Prediction_unit_Glue, in_DECOD_MATCH_INST_IFETCH_PTR ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 259 INSTANCE2_SC_SIGNAL(_Prediction_unit_Glue, in_DECOD_BRANCH_STATE ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 260 if (_param->_have_port_max_depth) 261 INSTANCE2_SC_SIGNAL(_Prediction_unit_Glue, in_DECOD_BRANCH_UPDATE_PREDICTION_ID,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 262 INSTANCE2_SC_SIGNAL(_Prediction_unit_Glue, in_DECOD_BRANCH_CONDITION ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 263 INSTANCE2_SC_SIGNAL(_Prediction_unit_Glue, in_DECOD_BRANCH_DIRECTION ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 264 INSTANCE2_SC_SIGNAL(_Prediction_unit_Glue, in_DECOD_ADDRESS_SRC ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 265 INSTANCE2_SC_SIGNAL(_Prediction_unit_Glue, in_DECOD_ADDRESS_DEST ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 266 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_BTB_VAL ,_param->_nb_inst_branch_decod); 267 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_DECOD_BTB_ACK ,_param->_nb_inst_branch_decod); 268 if (_param->_have_port_context_id) 269 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_BTB_CONTEXT_ID ,_param->_nb_inst_branch_decod); 270 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_BTB_ADDRESS_SRC ,_param->_nb_inst_branch_decod); 271 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_BTB_ADDRESS_DEST ,_param->_nb_inst_branch_decod); 272 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_BTB_CONDITION ,_param->_nb_inst_branch_decod); 273 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_BTB_LAST_TAKE ,_param->_nb_inst_branch_decod); 274 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_BTB_MISS_PREDICTION ,_param->_nb_inst_branch_decod); 275 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_BTB_IS_ACCURATE ,_param->_nb_inst_branch_decod); 276 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_RAS_VAL ,_param->_nb_inst_branch_decod); 277 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_DECOD_RAS_ACK ,_param->_nb_inst_branch_decod); 278 if (_param->_have_port_context_id) 279 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_RAS_CONTEXT_ID ,_param->_nb_inst_branch_decod); 280 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_DECOD_RAS_HIT ,_param->_nb_inst_branch_decod); 281 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_RAS_PUSH ,_param->_nb_inst_branch_decod); 282 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_RAS_ADDRESS_PUSH ,_param->_nb_inst_branch_decod); 283 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_DECOD_RAS_ADDRESS_POP ,_param->_nb_inst_branch_decod); 284 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_DECOD_RAS_INDEX ,_param->_nb_inst_branch_decod); 285 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_RAS_MISS_PREDICTION ,_param->_nb_inst_branch_decod); 286 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_UPT_VAL ,_param->_nb_inst_branch_decod); 287 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_DECOD_UPT_ACK ,_param->_nb_inst_branch_decod); 288 if (_param->_have_port_context_id) 289 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_UPT_CONTEXT_ID ,_param->_nb_inst_branch_decod); 290 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_UPT_BTB_ADDRESS_SRC ,_param->_nb_inst_branch_decod); 291 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_UPT_BTB_ADDRESS_DEST ,_param->_nb_inst_branch_decod); 292 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_UPT_BTB_CONDITION ,_param->_nb_inst_branch_decod); 293 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_UPT_BTB_LAST_TAKE ,_param->_nb_inst_branch_decod); 294 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_UPT_RAS_ADDRESS ,_param->_nb_inst_branch_decod); 295 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_UPT_RAS_INDEX ,_param->_nb_inst_branch_decod); 296 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_UPT_MISS_IFETCH ,_param->_nb_inst_branch_decod); 297 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_UPT_MISS_DECOD ,_param->_nb_inst_branch_decod); 298 if (_param->_have_port_max_depth) 299 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_DECOD_UPT_UPDATE_PREDICTION_ID ,_param->_nb_inst_branch_decod); 300 301 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_UPDATE_BTB_VAL ,_param->_nb_inst_branch_update); 302 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_UPDATE_BTB_ACK ,_param->_nb_inst_branch_update); 303 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_UPDATE_BTB_CONTEXT_ID ,_param->_nb_inst_branch_update); 304 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_UPDATE_BTB_ADDRESS_SRC ,_param->_nb_inst_branch_update); 305 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_UPDATE_BTB_ADDRESS_DEST ,_param->_nb_inst_branch_update); 306 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_UPDATE_BTB_CONDITION ,_param->_nb_inst_branch_update); 307 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_UPDATE_BTB_LAST_TAKE ,_param->_nb_inst_branch_update); 308 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_UPDATE_BTB_MISS_PREDICTION ,_param->_nb_inst_branch_update); 309 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_UPDATE_DIR_VAL ,_param->_nb_inst_branch_update); 310 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_UPDATE_DIR_ACK ,_param->_nb_inst_branch_update); 311 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_UPDATE_DIR_ADDRESS ,_param->_nb_inst_branch_update); 312 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_UPDATE_DIR_HISTORY ,_param->_nb_inst_branch_update); 313 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_UPDATE_DIR_DIRECTION ,_param->_nb_inst_branch_update); 314 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_UPDATE_RAS_VAL ,_param->_nb_inst_branch_update); 315 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_UPDATE_RAS_ACK ,_param->_nb_inst_branch_update); 316 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_UPDATE_RAS_CONTEXT_ID ,_param->_nb_inst_branch_update); 317 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_UPDATE_RAS_PUSH ,_param->_nb_inst_branch_update); 318 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_UPDATE_RAS_ADDRESS ,_param->_nb_inst_branch_update); 319 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_UPDATE_RAS_INDEX ,_param->_nb_inst_branch_update); 320 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_UPDATE_RAS_MISS_PREDICTION ,_param->_nb_inst_branch_update); 321 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_UPDATE_RAS_PREDICTION_IFETCH ,_param->_nb_inst_branch_update); 322 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_UPDATE_UPT_VAL ,_param->_nb_inst_branch_update); 323 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue,out_UPDATE_UPT_ACK ,_param->_nb_inst_branch_update); 324 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_UPDATE_UPT_CONTEXT_ID ,_param->_nb_inst_branch_update); 325 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_UPDATE_UPT_MISS_PREDICTION ,_param->_nb_inst_branch_update); 326 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_UPDATE_UPT_DIRECTION_GOOD ,_param->_nb_inst_branch_update); 327 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_UPDATE_UPT_BTB_VAL ,_param->_nb_inst_branch_update); 328 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_UPDATE_UPT_BTB_ADDRESS_SRC ,_param->_nb_inst_branch_update); 329 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_UPDATE_UPT_BTB_ADDRESS_DEST ,_param->_nb_inst_branch_update); 330 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_UPDATE_UPT_BTB_CONDITION ,_param->_nb_inst_branch_update); 331 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_UPDATE_UPT_DIR_VAL ,_param->_nb_inst_branch_update); 332 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_UPDATE_UPT_DIR_HISTORY ,_param->_nb_inst_branch_update); 333 INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_UPDATE_UPT_RAS_VAL ,_param->_nb_inst_branch_update); 334 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_UPDATE_UPT_RAS_PUSH ,_param->_nb_inst_branch_update); 335 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_UPDATE_UPT_RAS_ADDRESS ,_param->_nb_inst_branch_update); 336 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_UPDATE_UPT_RAS_INDEX ,_param->_nb_inst_branch_update); 337 //INSTANCE1_SC_SIGNAL(_Prediction_unit_Glue, in_UPDATE_UPT_RAS_PREDICTION_IFETCH,_param->_nb_inst_branch_update); 338 168 339 for (uint32_t i=0; i<_param->_nb_context; i++) 169 340 { 170 341 if (_param->_have_port_depth [i]) 171 342 { 343 INSTANCE_SC_SIGNAL(_Prediction_unit_Glue, in_DEPTH_UPT_TAIL [i]); 344 INSTANCE_SC_SIGNAL(_Prediction_unit_Glue,out_DEPTH_TAIL [i]); 345 } 172 346 INSTANCE_SC_SIGNAL(_Prediction_unit_Glue, in_DEPTH_UPT_NB_BRANCH [i]); 173 INSTANCE_SC_SIGNAL(_Prediction_unit_Glue, in_DEPTH_UPT_TAIL [i]); 174 } 347 INSTANCE_SC_SIGNAL(_Prediction_unit_Glue,out_DEPTH_NB_BRANCH [i]); 175 348 } 176 349 … … 191 364 192 365 int32_t percent_transaction_predict = 75; 366 int32_t percent_transaction_decod = 75; 193 367 194 368 SC_START(0); … … 199 373 for (uint32_t i=0; i<_param->_nb_context; i++) 200 374 in_PREDICT_VAL [i]->write(0); 201 for (uint32_t i=0; i<_param->_nb_inst_ predict; i++)375 for (uint32_t i=0; i<_param->_nb_inst_branch_predict; i++) 202 376 { 203 377 in_PREDICT_BTB_ACK [i]->write(0); … … 208 382 in_PREDICT_BTB_IS_ACCURATE [i]->write(1); 209 383 } 384 for (uint32_t i=0; i<_param->_nb_decod_unit; i++) 385 for (uint32_t j=0; j<_param->_nb_inst_decod[i]; j++) 386 in_DECOD_VAL [i][j]->write(0); 210 387 211 388 in_NRESET->write(0); … … 237 414 do 238 415 { 239 for (uint32_t j=0; j<_param->_nb_inst_ predict; j++)416 for (uint32_t j=0; j<_param->_nb_inst_branch_predict; j++) 240 417 in_PREDICT_BTB_ACK [j]->write(0); 241 418 … … 245 422 246 423 uint32_t port; 247 for (port=0; port<_param->_nb_inst_ predict; port++)424 for (port=0; port<_param->_nb_inst_branch_predict; port++) 248 425 { 249 426 if (_param->_have_port_context_id) … … 289 466 for (uint32_t i=0; i<_param->_nb_context; i++) 290 467 in_PREDICT_VAL [i]->write(0); 291 for (uint32_t i=0; i<_param->_nb_inst_ predict; i++)468 for (uint32_t i=0; i<_param->_nb_inst_branch_predict; i++) 292 469 { 293 470 in_PREDICT_BTB_ACK [i]->write(0); … … 319 496 do 320 497 { 321 for (uint32_t j=0; j<_param->_nb_inst_ predict; j++)498 for (uint32_t j=0; j<_param->_nb_inst_branch_predict; j++) 322 499 in_PREDICT_BTB_ACK [j]->write(0); 323 500 … … 327 504 328 505 uint32_t port; 329 for (port=0; port<_param->_nb_inst_ predict; port++)506 for (port=0; port<_param->_nb_inst_branch_predict; port++) 330 507 { 331 508 if (_param->_have_port_context_id) … … 355 532 356 533 TEST(Taddress_t ,out_PREDICT_PC_NEXT [context]->read(),addr_dest); 357 // TEST(Tcontrol_t ,out_PREDICT_PC_NEXT_IS_DS_TAKE [context]->read(),0);534 TEST(Tcontrol_t ,out_PREDICT_PC_NEXT_IS_DS_TAKE [context]->read(),i==(_param->_nb_instruction [context]-1)); 358 535 TEST(Tinst_ifetch_ptr_t,out_PREDICT_INST_IFETCH_PTR [context]->read(),i); 359 536 TEST(Tbranch_state_t ,out_PREDICT_BRANCH_STATE [context]->read(),BRANCH_STATE_NSPEC_TAKE); 360 537 // TEST(Tprediction_ptr_t ,out_PREDICT_BRANCH_UPDATE_PREDICTION_ID [context]->read(),0); 361 362 // for (uint32_t j=0; j<i; j++) 363 // TEST(Tcontrol_t ,out_PREDICT_INSTRUCTION_ENABLE [context][j]->read(),0); 364 // for (uint32_t j=i; j<_param->_nb_instruction[context]; j++) 365 // TEST(Tcontrol_t ,out_PREDICT_INSTRUCTION_ENABLE [context][j]->read(),1); 366 538 539 uint32_t k=((addr_src%_param->_nb_instruction[context])==_param->_nb_instruction[context]-1)?_param->_nb_instruction[context]:((addr_src%_param->_nb_instruction[context])+2); 540 LABEL("instruction enable : "); 541 LABEL(" [0:%d[ = 1",k); 542 LABEL(" [%d:%d[ = 1",k,_param->_nb_instruction[context]); 543 for (uint32_t j=0; j<k; j++) 544 TEST(Tcontrol_t ,out_PREDICT_INSTRUCTION_ENABLE [context][j]->read(),1); 545 for (uint32_t j=k; j<_param->_nb_instruction[context]; j++) 546 TEST(Tcontrol_t ,out_PREDICT_INSTRUCTION_ENABLE [context][j]->read(),0); 547 367 548 TEST(Tcontrol_t ,out_PREDICT_BTB_VAL [port]->read(),1); 368 549 TEST(Tcontext_t ,out_PREDICT_BTB_CONTEXT_ID [port]->read(),context); 369 550 TEST(Taddress_t ,out_PREDICT_BTB_ADDRESS [port]->read(),addr); 370 551 } 371 552 372 553 SC_START(1); 373 554 … … 376 557 for (uint32_t i=0; i<_param->_nb_context; i++) 377 558 in_PREDICT_VAL [i]->write(0); 378 for (uint32_t i=0; i<_param->_nb_inst_ predict; i++)559 for (uint32_t i=0; i<_param->_nb_inst_branch_predict; i++) 379 560 { 380 561 in_PREDICT_BTB_ACK [i]->write(0); … … 386 567 } 387 568 569 { 570 LABEL("Decod - Ok"); 571 uint32_t decod_unit = rand()%_param->_nb_decod_unit; 572 LABEL("decod_unit : %d",decod_unit); 573 574 for (uint32_t i=0; i<_param->_nb_inst_decod[i];i++) 575 { 576 Tcontext_t context = i%_param->_nb_context; 577 in_DECOD_CONTEXT_ID [decod_unit][i]->write(context); 578 in_DECOD_MATCH_INST_IFETCH_PTR [decod_unit][i]->write(1); 579 in_DECOD_BRANCH_STATE [decod_unit][i]->write(BRANCH_STATE_NSPEC_TAKE); 580 581 bool find = false; 582 do 583 { 584 in_DECOD_VAL [decod_unit][i]->write((rand()%100)<percent_transaction_decod); 585 in_DECOD_BRANCH_UPDATE_PREDICTION_ID [decod_unit][i]->write(rand()%_param->_size_depth[context]); 586 587 in_DECOD_BTB_ACK[0]->write((rand()%100)<percent_transaction_decod); 588 in_DECOD_RAS_ACK[0]->write((rand()%100)<percent_transaction_decod); 589 in_DECOD_UPT_ACK[0]->write((rand()%100)<percent_transaction_decod); 590 591 SC_START(0); 592 593 LABEL("DECOD[%d][%d] - %d %d",decod_unit,i,in_DECOD_VAL[decod_unit][i]->read(),out_DECOD_ACK[decod_unit][i]->read()); 594 if (in_DECOD_VAL[decod_unit][i]->read() and out_DECOD_ACK[decod_unit][i]->read()) 595 { 596 LABEL("DECOD[%d][%d] - Transaction Accepted",decod_unit,i); 597 TEST(Tcontrol_t, in_DECOD_UPT_ACK[0]->read(),1); 598 TEST(Tcontrol_t,out_DECOD_BTB_VAL[0]->read(),0); 599 TEST(Tcontrol_t,out_DECOD_RAS_VAL[0]->read(),0); 600 TEST(Tcontrol_t,out_DECOD_UPT_VAL[0]->read(),1); 601 find = true; 602 } 603 604 SC_START(1); 605 606 } while (not find); 607 608 in_DECOD_VAL [decod_unit][i]->write(0); 609 in_DECOD_BTB_ACK[0]->write(0); 610 in_DECOD_RAS_ACK[0]->write(0); 611 in_DECOD_UPT_ACK[0]->write(0); 612 } 613 } 614 615 { 616 LABEL("Decod - Ko"); 617 uint32_t decod_unit = rand()%_param->_nb_decod_unit; 618 LABEL("decod_unit : %d",decod_unit); 619 620 for (uint32_t i=0; i<_param->_nb_inst_decod[i];i++) 621 { 622 Tcontext_t context = i%_param->_nb_context; 623 in_DECOD_CONTEXT_ID [decod_unit][i]->write(context); 624 in_DECOD_MATCH_INST_IFETCH_PTR [decod_unit][i]->write(0); 625 in_DECOD_BRANCH_STATE [decod_unit][i]->write(BRANCH_STATE_SPEC_TAKE); 626 in_DECOD_BRANCH_UPDATE_PREDICTION_ID [decod_unit][i]->write(i%_param->_max_size_depth); 627 in_DECOD_BRANCH_CONDITION [decod_unit][i]->write(BRANCH_CONDITION_READ_REGISTER_WITH_WRITE_STACK); 628 in_DECOD_BRANCH_DIRECTION [decod_unit][i]->write(1); 629 in_DECOD_ADDRESS_SRC [decod_unit][i]->write(0xdeadbeef+i); 630 in_DECOD_ADDRESS_DEST [decod_unit][i]->write(0x11061979+i); 631 632 633 bool find = false; 634 do 635 { 636 in_DECOD_VAL [decod_unit][i]->write((rand()%100)<percent_transaction_decod); 637 638 in_DECOD_BTB_ACK[0]->write((rand()%100)<percent_transaction_decod); 639 in_DECOD_RAS_ACK[0]->write((rand()%100)<percent_transaction_decod); 640 in_DECOD_UPT_ACK[0]->write((rand()%100)<percent_transaction_decod); 641 642 in_DECOD_RAS_HIT[0]->write(1); 643 in_DECOD_RAS_ADDRESS_POP[0]->write(0xdadedead+i); 644 645 646 SC_START(0); 647 648 LABEL("DECOD[%d][%d] - %d %d",decod_unit,i,in_DECOD_VAL[decod_unit][i]->read(),out_DECOD_ACK[decod_unit][i]->read()); 649 if (in_DECOD_VAL[decod_unit][i]->read() and out_DECOD_ACK[decod_unit][i]->read()) 650 { 651 LABEL("DECOD[%d][%d] - Transaction Accepted",decod_unit,i); 652 TEST(Tcontrol_t , in_DECOD_UPT_ACK [0]->read(),1); 653 TEST(Tcontrol_t ,out_DECOD_BTB_VAL [0]->read(),1); 654 TEST(Tcontrol_t ,out_DECOD_RAS_VAL [0]->read(),1); 655 TEST(Tcontrol_t ,out_DECOD_UPT_VAL [0]->read(),1); 656 657 TEST(Tcontext_t ,out_DECOD_BTB_CONTEXT_ID [0]->read(),context); 658 TEST(Taddress_t ,out_DECOD_BTB_ADDRESS_SRC [0]->read(),0xdeadbeef+i); 659 TEST(Taddress_t ,out_DECOD_BTB_ADDRESS_DEST [0]->read(),0x11061979+i); 660 TEST(Tbranch_condition_t,out_DECOD_BTB_CONDITION [0]->read(),BRANCH_CONDITION_READ_REGISTER_WITH_WRITE_STACK); 661 TEST(Tcontrol_t ,out_DECOD_BTB_LAST_TAKE [0]->read(),1); 662 TEST(Tcontrol_t ,out_DECOD_BTB_MISS_PREDICTION [0]->read(),1); 663 TEST(Tcontrol_t ,out_DECOD_BTB_IS_ACCURATE [0]->read(),0); 664 TEST(Tcontext_t ,out_DECOD_RAS_CONTEXT_ID [0]->read(),context); 665 TEST(Tcontrol_t ,out_DECOD_RAS_PUSH [0]->read(),1); 666 TEST(Taddress_t ,out_DECOD_RAS_ADDRESS_PUSH [0]->read(),0x11061979+i); 667 TEST(Tcontrol_t ,out_DECOD_RAS_MISS_PREDICTION [0]->read(),1); 668 TEST(Tcontext_t ,out_DECOD_UPT_CONTEXT_ID [0]->read(),context); 669 TEST(Taddress_t ,out_DECOD_UPT_BTB_ADDRESS_SRC [0]->read(),0xdeadbeef+i); 670 TEST(Taddress_t ,out_DECOD_UPT_BTB_ADDRESS_DEST [0]->read(),0x11061979+i); 671 TEST(Tbranch_condition_t,out_DECOD_UPT_BTB_CONDITION [0]->read(),BRANCH_CONDITION_READ_REGISTER_WITH_WRITE_STACK); 672 TEST(Tcontrol_t ,out_DECOD_UPT_BTB_LAST_TAKE [0]->read(),1); 673 TEST(Taddress_t ,out_DECOD_UPT_RAS_ADDRESS [0]->read(),0xdadedead+i); 674 TEST(Tcontrol_t ,out_DECOD_UPT_MISS_IFETCH [0]->read(),1); 675 TEST(Tcontrol_t ,out_DECOD_UPT_MISS_DECOD [0]->read(),0); 676 TEST(Tprediction_ptr_t ,out_DECOD_UPT_UPDATE_PREDICTION_ID [0]->read(),i%_param->_max_size_depth); 677 678 find = true; 679 } 680 681 SC_START(1); 682 683 } while (not find); 684 685 in_DECOD_VAL [decod_unit][i]->write(0); 686 in_DECOD_BTB_ACK[0]->write(0); 687 in_DECOD_RAS_ACK[0]->write(0); 688 in_DECOD_UPT_ACK[0]->write(0); 689 } 690 } 388 691 389 692 SC_START(1); … … 413 716 DELETE1_SC_SIGNAL(out_PREDICT_BRANCH_STATE ,_param->_nb_context); 414 717 DELETE1_SC_SIGNAL(out_PREDICT_BRANCH_UPDATE_PREDICTION_ID ,_param->_nb_context); 415 DELETE1_SC_SIGNAL(out_PREDICT_BTB_VAL ,_param->_nb_inst_ predict);416 DELETE1_SC_SIGNAL( in_PREDICT_BTB_ACK ,_param->_nb_inst_ predict);417 DELETE1_SC_SIGNAL(out_PREDICT_BTB_CONTEXT_ID ,_param->_nb_inst_ predict);418 DELETE1_SC_SIGNAL(out_PREDICT_BTB_ADDRESS ,_param->_nb_inst_ predict);419 DELETE1_SC_SIGNAL( in_PREDICT_BTB_HIT ,_param->_nb_inst_ predict);420 DELETE1_SC_SIGNAL( in_PREDICT_BTB_ADDRESS_SRC ,_param->_nb_inst_ predict);421 DELETE1_SC_SIGNAL( in_PREDICT_BTB_ADDRESS_DEST ,_param->_nb_inst_ predict);422 DELETE1_SC_SIGNAL( in_PREDICT_BTB_CONDITION ,_param->_nb_inst_ predict);423 //DELETE1_SC_SIGNAL( in_PREDICT_BTB_LAST_TAKE ,_param->_nb_inst_ predict);424 DELETE1_SC_SIGNAL( in_PREDICT_BTB_IS_ACCURATE ,_param->_nb_inst_ predict);425 DELETE1_SC_SIGNAL(out_PREDICT_DIR_VAL ,_param->_nb_inst_ predict);426 DELETE1_SC_SIGNAL( in_PREDICT_DIR_ACK ,_param->_nb_inst_ predict);427 DELETE1_SC_SIGNAL(out_PREDICT_DIR_ADDRESS_SRC ,_param->_nb_inst_ predict);428 DELETE1_SC_SIGNAL(out_PREDICT_DIR_STATIC ,_param->_nb_inst_ predict);429 //DELETE1_SC_SIGNAL(out_PREDICT_DIR_LAST_TAKE ,_param->_nb_inst_ predict);430 //DELETE1_SC_SIGNAL( in_PREDICT_DIR_HISTORY ,_param->_nb_inst_ predict);431 DELETE1_SC_SIGNAL( in_PREDICT_DIR_DIRECTION ,_param->_nb_inst_ predict);432 DELETE1_SC_SIGNAL(out_PREDICT_RAS_VAL ,_param->_nb_inst_ predict);433 DELETE1_SC_SIGNAL( in_PREDICT_RAS_ACK ,_param->_nb_inst_ predict);434 DELETE1_SC_SIGNAL(out_PREDICT_RAS_CONTEXT_ID ,_param->_nb_inst_ predict);435 DELETE1_SC_SIGNAL( in_PREDICT_RAS_HIT ,_param->_nb_inst_ predict);436 DELETE1_SC_SIGNAL(out_PREDICT_RAS_PUSH ,_param->_nb_inst_ predict);437 DELETE1_SC_SIGNAL(out_PREDICT_RAS_ADDRESS_PUSH ,_param->_nb_inst_ predict);438 DELETE1_SC_SIGNAL( in_PREDICT_RAS_ADDRESS_POP ,_param->_nb_inst_ predict);439 //DELETE1_SC_SIGNAL( in_PREDICT_RAS_INDEX ,_param->_nb_inst_ predict);440 DELETE1_SC_SIGNAL(out_PREDICT_UPT_VAL ,_param->_nb_inst_ predict);441 DELETE1_SC_SIGNAL( in_PREDICT_UPT_ACK ,_param->_nb_inst_ predict);442 DELETE1_SC_SIGNAL(out_PREDICT_UPT_CONTEXT_ID ,_param->_nb_inst_ predict);443 DELETE1_SC_SIGNAL(out_PREDICT_UPT_BTB_ADDRESS_SRC ,_param->_nb_inst_ predict);444 DELETE1_SC_SIGNAL(out_PREDICT_UPT_BTB_ADDRESS_DEST ,_param->_nb_inst_ predict);445 DELETE1_SC_SIGNAL(out_PREDICT_UPT_BTB_CONDITION ,_param->_nb_inst_ predict);446 DELETE1_SC_SIGNAL(out_PREDICT_UPT_BTB_LAST_TAKE ,_param->_nb_inst_ predict);447 DELETE1_SC_SIGNAL(out_PREDICT_UPT_BTB_IS_ACCURATE ,_param->_nb_inst_ predict);448 //DELETE1_SC_SIGNAL(out_PREDICT_UPT_DIR_HISTORY ,_param->_nb_inst_ predict);449 DELETE1_SC_SIGNAL(out_PREDICT_UPT_RAS_ADDRESS ,_param->_nb_inst_ predict);450 //DELETE1_SC_SIGNAL(out_PREDICT_UPT_RAS_INDEX ,_param->_nb_inst_ predict);718 DELETE1_SC_SIGNAL(out_PREDICT_BTB_VAL ,_param->_nb_inst_branch_predict); 719 DELETE1_SC_SIGNAL( in_PREDICT_BTB_ACK ,_param->_nb_inst_branch_predict); 720 DELETE1_SC_SIGNAL(out_PREDICT_BTB_CONTEXT_ID ,_param->_nb_inst_branch_predict); 721 DELETE1_SC_SIGNAL(out_PREDICT_BTB_ADDRESS ,_param->_nb_inst_branch_predict); 722 DELETE1_SC_SIGNAL( in_PREDICT_BTB_HIT ,_param->_nb_inst_branch_predict); 723 DELETE1_SC_SIGNAL( in_PREDICT_BTB_ADDRESS_SRC ,_param->_nb_inst_branch_predict); 724 DELETE1_SC_SIGNAL( in_PREDICT_BTB_ADDRESS_DEST ,_param->_nb_inst_branch_predict); 725 DELETE1_SC_SIGNAL( in_PREDICT_BTB_CONDITION ,_param->_nb_inst_branch_predict); 726 //DELETE1_SC_SIGNAL( in_PREDICT_BTB_LAST_TAKE ,_param->_nb_inst_branch_predict); 727 DELETE1_SC_SIGNAL( in_PREDICT_BTB_IS_ACCURATE ,_param->_nb_inst_branch_predict); 728 DELETE1_SC_SIGNAL(out_PREDICT_DIR_VAL ,_param->_nb_inst_branch_predict); 729 DELETE1_SC_SIGNAL( in_PREDICT_DIR_ACK ,_param->_nb_inst_branch_predict); 730 DELETE1_SC_SIGNAL(out_PREDICT_DIR_ADDRESS_SRC ,_param->_nb_inst_branch_predict); 731 DELETE1_SC_SIGNAL(out_PREDICT_DIR_STATIC ,_param->_nb_inst_branch_predict); 732 //DELETE1_SC_SIGNAL(out_PREDICT_DIR_LAST_TAKE ,_param->_nb_inst_branch_predict); 733 //DELETE1_SC_SIGNAL( in_PREDICT_DIR_HISTORY ,_param->_nb_inst_branch_predict); 734 DELETE1_SC_SIGNAL( in_PREDICT_DIR_DIRECTION ,_param->_nb_inst_branch_predict); 735 DELETE1_SC_SIGNAL(out_PREDICT_RAS_VAL ,_param->_nb_inst_branch_predict); 736 DELETE1_SC_SIGNAL( in_PREDICT_RAS_ACK ,_param->_nb_inst_branch_predict); 737 DELETE1_SC_SIGNAL(out_PREDICT_RAS_CONTEXT_ID ,_param->_nb_inst_branch_predict); 738 DELETE1_SC_SIGNAL( in_PREDICT_RAS_HIT ,_param->_nb_inst_branch_predict); 739 DELETE1_SC_SIGNAL(out_PREDICT_RAS_PUSH ,_param->_nb_inst_branch_predict); 740 DELETE1_SC_SIGNAL(out_PREDICT_RAS_ADDRESS_PUSH ,_param->_nb_inst_branch_predict); 741 DELETE1_SC_SIGNAL( in_PREDICT_RAS_ADDRESS_POP ,_param->_nb_inst_branch_predict); 742 //DELETE1_SC_SIGNAL( in_PREDICT_RAS_INDEX ,_param->_nb_inst_branch_predict); 743 DELETE1_SC_SIGNAL(out_PREDICT_UPT_VAL ,_param->_nb_inst_branch_predict); 744 DELETE1_SC_SIGNAL( in_PREDICT_UPT_ACK ,_param->_nb_inst_branch_predict); 745 DELETE1_SC_SIGNAL(out_PREDICT_UPT_CONTEXT_ID ,_param->_nb_inst_branch_predict); 746 DELETE1_SC_SIGNAL(out_PREDICT_UPT_BTB_ADDRESS_SRC ,_param->_nb_inst_branch_predict); 747 DELETE1_SC_SIGNAL(out_PREDICT_UPT_BTB_ADDRESS_DEST ,_param->_nb_inst_branch_predict); 748 DELETE1_SC_SIGNAL(out_PREDICT_UPT_BTB_CONDITION ,_param->_nb_inst_branch_predict); 749 DELETE1_SC_SIGNAL(out_PREDICT_UPT_BTB_LAST_TAKE ,_param->_nb_inst_branch_predict); 750 DELETE1_SC_SIGNAL(out_PREDICT_UPT_BTB_IS_ACCURATE ,_param->_nb_inst_branch_predict); 751 //DELETE1_SC_SIGNAL(out_PREDICT_UPT_DIR_HISTORY ,_param->_nb_inst_branch_predict); 752 DELETE1_SC_SIGNAL(out_PREDICT_UPT_RAS_ADDRESS ,_param->_nb_inst_branch_predict); 753 //DELETE1_SC_SIGNAL(out_PREDICT_UPT_RAS_INDEX ,_param->_nb_inst_branch_predict); 451 754 DELETE1_SC_SIGNAL( in_DEPTH_UPT_NB_BRANCH ,_param->_nb_context); 452 755 DELETE1_SC_SIGNAL( in_DEPTH_UPT_TAIL ,_param->_nb_context); 756 DELETE1_SC_SIGNAL(out_DEPTH_NB_BRANCH ,_param->_nb_context); 757 DELETE1_SC_SIGNAL(out_DEPTH_TAIL ,_param->_nb_context); 758 759 DELETE2_SC_SIGNAL( in_DECOD_VAL ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 760 DELETE2_SC_SIGNAL(out_DECOD_ACK ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 761 DELETE2_SC_SIGNAL( in_DECOD_CONTEXT_ID ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 762 DELETE2_SC_SIGNAL( in_DECOD_MATCH_INST_IFETCH_PTR ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 763 DELETE2_SC_SIGNAL( in_DECOD_BRANCH_STATE ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 764 DELETE2_SC_SIGNAL( in_DECOD_BRANCH_UPDATE_PREDICTION_ID,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 765 DELETE2_SC_SIGNAL( in_DECOD_BRANCH_CONDITION ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 766 DELETE2_SC_SIGNAL( in_DECOD_BRANCH_DIRECTION ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 767 DELETE2_SC_SIGNAL( in_DECOD_ADDRESS_SRC ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 768 DELETE2_SC_SIGNAL( in_DECOD_ADDRESS_DEST ,_param->_nb_decod_unit,_param->_nb_inst_decod[alloc_signal_it1]); 769 DELETE1_SC_SIGNAL(out_DECOD_BTB_VAL ,_param->_nb_inst_branch_decod); 770 DELETE1_SC_SIGNAL( in_DECOD_BTB_ACK ,_param->_nb_inst_branch_decod); 771 DELETE1_SC_SIGNAL(out_DECOD_BTB_CONTEXT_ID ,_param->_nb_inst_branch_decod); 772 DELETE1_SC_SIGNAL(out_DECOD_BTB_ADDRESS_SRC ,_param->_nb_inst_branch_decod); 773 DELETE1_SC_SIGNAL(out_DECOD_BTB_ADDRESS_DEST ,_param->_nb_inst_branch_decod); 774 DELETE1_SC_SIGNAL(out_DECOD_BTB_CONDITION ,_param->_nb_inst_branch_decod); 775 DELETE1_SC_SIGNAL(out_DECOD_BTB_LAST_TAKE ,_param->_nb_inst_branch_decod); 776 DELETE1_SC_SIGNAL(out_DECOD_BTB_MISS_PREDICTION ,_param->_nb_inst_branch_decod); 777 DELETE1_SC_SIGNAL(out_DECOD_BTB_IS_ACCURATE ,_param->_nb_inst_branch_decod); 778 DELETE1_SC_SIGNAL(out_DECOD_RAS_VAL ,_param->_nb_inst_branch_decod); 779 DELETE1_SC_SIGNAL( in_DECOD_RAS_ACK ,_param->_nb_inst_branch_decod); 780 DELETE1_SC_SIGNAL(out_DECOD_RAS_CONTEXT_ID ,_param->_nb_inst_branch_decod); 781 DELETE1_SC_SIGNAL( in_DECOD_RAS_HIT ,_param->_nb_inst_branch_decod); 782 DELETE1_SC_SIGNAL(out_DECOD_RAS_PUSH ,_param->_nb_inst_branch_decod); 783 DELETE1_SC_SIGNAL(out_DECOD_RAS_ADDRESS_PUSH ,_param->_nb_inst_branch_decod); 784 DELETE1_SC_SIGNAL( in_DECOD_RAS_ADDRESS_POP ,_param->_nb_inst_branch_decod); 785 //DELETE1_SC_SIGNAL( in_DECOD_RAS_INDEX ,_param->_nb_inst_branch_decod); 786 DELETE1_SC_SIGNAL(out_DECOD_RAS_MISS_PREDICTION ,_param->_nb_inst_branch_decod); 787 DELETE1_SC_SIGNAL(out_DECOD_UPT_VAL ,_param->_nb_inst_branch_decod); 788 DELETE1_SC_SIGNAL( in_DECOD_UPT_ACK ,_param->_nb_inst_branch_decod); 789 DELETE1_SC_SIGNAL(out_DECOD_UPT_CONTEXT_ID ,_param->_nb_inst_branch_decod); 790 DELETE1_SC_SIGNAL(out_DECOD_UPT_BTB_ADDRESS_SRC ,_param->_nb_inst_branch_decod); 791 DELETE1_SC_SIGNAL(out_DECOD_UPT_BTB_ADDRESS_DEST ,_param->_nb_inst_branch_decod); 792 DELETE1_SC_SIGNAL(out_DECOD_UPT_BTB_CONDITION ,_param->_nb_inst_branch_decod); 793 DELETE1_SC_SIGNAL(out_DECOD_UPT_BTB_LAST_TAKE ,_param->_nb_inst_branch_decod); 794 DELETE1_SC_SIGNAL(out_DECOD_UPT_RAS_ADDRESS ,_param->_nb_inst_branch_decod); 795 //DELETE1_SC_SIGNAL(out_DECOD_UPT_RAS_INDEX ,_param->_nb_inst_branch_decod); 796 DELETE1_SC_SIGNAL(out_DECOD_UPT_MISS_IFETCH ,_param->_nb_inst_branch_decod); 797 DELETE1_SC_SIGNAL(out_DECOD_UPT_MISS_DECOD ,_param->_nb_inst_branch_decod); 798 DELETE1_SC_SIGNAL(out_DECOD_UPT_UPDATE_PREDICTION_ID ,_param->_nb_inst_branch_decod); 799 800 DELETE1_SC_SIGNAL(out_UPDATE_BTB_VAL ,_param->_nb_inst_branch_update); 801 DELETE1_SC_SIGNAL( in_UPDATE_BTB_ACK ,_param->_nb_inst_branch_update); 802 //DELETE1_SC_SIGNAL(out_UPDATE_BTB_CONTEXT_ID ,_param->_nb_inst_branch_update); 803 //DELETE1_SC_SIGNAL(out_UPDATE_BTB_ADDRESS_SRC ,_param->_nb_inst_branch_update); 804 //DELETE1_SC_SIGNAL(out_UPDATE_BTB_ADDRESS_DEST ,_param->_nb_inst_branch_update); 805 //DELETE1_SC_SIGNAL(out_UPDATE_BTB_CONDITION ,_param->_nb_inst_branch_update); 806 //DELETE1_SC_SIGNAL(out_UPDATE_BTB_LAST_TAKE ,_param->_nb_inst_branch_update); 807 //DELETE1_SC_SIGNAL(out_UPDATE_BTB_MISS_PREDICTION ,_param->_nb_inst_branch_update); 808 DELETE1_SC_SIGNAL(out_UPDATE_DIR_VAL ,_param->_nb_inst_branch_update); 809 DELETE1_SC_SIGNAL( in_UPDATE_DIR_ACK ,_param->_nb_inst_branch_update); 810 //DELETE1_SC_SIGNAL(out_UPDATE_DIR_ADDRESS ,_param->_nb_inst_branch_update); 811 //DELETE1_SC_SIGNAL(out_UPDATE_DIR_HISTORY ,_param->_nb_inst_branch_update); 812 //DELETE1_SC_SIGNAL(out_UPDATE_DIR_DIRECTION ,_param->_nb_inst_branch_update); 813 DELETE1_SC_SIGNAL(out_UPDATE_RAS_VAL ,_param->_nb_inst_branch_update); 814 DELETE1_SC_SIGNAL( in_UPDATE_RAS_ACK ,_param->_nb_inst_branch_update); 815 //DELETE1_SC_SIGNAL(out_UPDATE_RAS_CONTEXT_ID ,_param->_nb_inst_branch_update); 816 //DELETE1_SC_SIGNAL(out_UPDATE_RAS_PUSH ,_param->_nb_inst_branch_update); 817 //DELETE1_SC_SIGNAL(out_UPDATE_RAS_ADDRESS ,_param->_nb_inst_branch_update); 818 //DELETE1_SC_SIGNAL(out_UPDATE_RAS_INDEX ,_param->_nb_inst_branch_update); 819 //DELETE1_SC_SIGNAL(out_UPDATE_RAS_MISS_PREDICTION ,_param->_nb_inst_branch_update); 820 //DELETE1_SC_SIGNAL(out_UPDATE_RAS_PREDICTION_IFETCH ,_param->_nb_inst_branch_update); 821 DELETE1_SC_SIGNAL( in_UPDATE_UPT_VAL ,_param->_nb_inst_branch_update); 822 DELETE1_SC_SIGNAL(out_UPDATE_UPT_ACK ,_param->_nb_inst_branch_update); 823 //DELETE1_SC_SIGNAL( in_UPDATE_UPT_CONTEXT_ID ,_param->_nb_inst_branch_update); 824 //DELETE1_SC_SIGNAL( in_UPDATE_UPT_MISS_PREDICTION ,_param->_nb_inst_branch_update); 825 //DELETE1_SC_SIGNAL( in_UPDATE_UPT_DIRECTION_GOOD ,_param->_nb_inst_branch_update); 826 DELETE1_SC_SIGNAL( in_UPDATE_UPT_BTB_VAL ,_param->_nb_inst_branch_update); 827 //DELETE1_SC_SIGNAL( in_UPDATE_UPT_BTB_ADDRESS_SRC ,_param->_nb_inst_branch_update); 828 //DELETE1_SC_SIGNAL( in_UPDATE_UPT_BTB_ADDRESS_DEST ,_param->_nb_inst_branch_update); 829 //DELETE1_SC_SIGNAL( in_UPDATE_UPT_BTB_CONDITION ,_param->_nb_inst_branch_update); 830 DELETE1_SC_SIGNAL( in_UPDATE_UPT_DIR_VAL ,_param->_nb_inst_branch_update); 831 //DELETE1_SC_SIGNAL( in_UPDATE_UPT_DIR_HISTORY ,_param->_nb_inst_branch_update); 832 DELETE1_SC_SIGNAL( in_UPDATE_UPT_RAS_VAL ,_param->_nb_inst_branch_update); 833 //DELETE1_SC_SIGNAL( in_UPDATE_UPT_RAS_PUSH ,_param->_nb_inst_branch_update); 834 //DELETE1_SC_SIGNAL( in_UPDATE_UPT_RAS_ADDRESS ,_param->_nb_inst_branch_update); 835 //DELETE1_SC_SIGNAL( in_UPDATE_UPT_RAS_INDEX ,_param->_nb_inst_branch_update); 836 //DELETE1_SC_SIGNAL( in_UPDATE_UPT_RAS_PREDICTION_IFETCH,_param->_nb_inst_branch_update); 837 453 838 } 454 839 #endif 455 840 456 841 delete _Prediction_unit_Glue; 842 457 843 #ifdef STATISTICS 458 844 delete _parameters_statistics;
Note: See TracChangeset
for help on using the changeset viewer.