Changeset 82 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/SelfTest/src/main.cpp
- 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/SelfTest/src/main.cpp
r81 r82 8 8 #include "Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/SelfTest/include/test.h" 9 9 10 #define NB_PARAMS 010 #define NB_PARAMS (12+3*7) 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 (_(" * ()\n")); 16 err (_(" * nb_context (uint32_t )\n")); 17 err (_(" * nb_decod_unit (uint32_t )\n")); 18 err (_(" * size_address (uint32_t )\n")); 19 err (_(" * nb_instruction [nb_context] (uint32_t )\n")); 20 err (_(" * nb_inst_decod [nb_decod_unit](uint32_t )\n")); 21 err (_(" * nb_inst_branch_predict (uint32_t )\n")); 22 err (_(" * nb_inst_branch_decod (uint32_t )\n")); 23 err (_(" * nb_inst_branch_update (uint32_t )\n")); 24 err (_(" * nb_inst_branch_complete (uint32_t )\n")); 25 err (_(" * btb_size_queue (uint32_t )\n")); 26 err (_(" * btb_associativity (uint32_t )\n")); 27 err (_(" * btb_size_counter (uint32_t )\n")); 28 err (_(" * btb_victim_scheme (Tvictim_t )\n")); 29 err (_(" * dir_predictor_scheme (Tpredictor_t)\n")); 30 err (_(" * dir_have_bht [3] (bool )\n")); 31 err (_(" * dir_bht_size_shifter [3] (uint32_t )\n")); 32 err (_(" * dir_bht_nb_shifter [3] (uint32_t )\n")); 33 err (_(" * dir_have_pht [3] (bool )\n")); 34 err (_(" * dir_pht_size_counter [3] (uint32_t )\n")); 35 err (_(" * dir_pht_nb_counter [3] (uint32_t )\n")); 36 err (_(" * dir_pht_size_address_share [3] (uint32_t )\n")); 37 err (_(" * ras_size_queue [nb_context] (uint32_t )\n")); 38 err (_(" * upt_size_queue [nb_context] (uint32_t )\n")); 17 39 18 40 exit (1); … … 25 47 #endif 26 48 { 27 if (argc !=static_cast<int>(2+NB_PARAMS))49 if (argc < static_cast<int>(2+NB_PARAMS)) 28 50 usage (argc, argv); 29 51 … … 31 53 32 54 string name = argv[x++]; 33 //const uint32_t size_data = atoi(argv[x++]); 34 //const uint32_t nb_port = atoi(argv[x++]); 55 uint32_t _nb_context = fromString<uint32_t>(argv[x++]); 56 uint32_t _nb_decod_unit = fromString<uint32_t>(argv[x++]); 57 uint32_t _size_address = fromString<uint32_t>(argv[x++]); 58 59 if (argc != static_cast<int>(2+NB_PARAMS+3*_nb_context+_nb_decod_unit)) 60 usage (argc, argv); 61 62 uint32_t * _nb_instruction = new uint32_t [_nb_context]; 63 for (uint32_t i=0; i<_nb_context; i++) 64 _nb_instruction [i] = fromString<uint32_t >(argv[x++]); 65 uint32_t * _nb_inst_decod = new uint32_t [_nb_decod_unit]; 66 for (uint32_t i=0; i<_nb_decod_unit; i++) 67 _nb_inst_decod [i] = fromString<uint32_t >(argv[x++]); 68 uint32_t _nb_inst_branch_predict = fromString<uint32_t >(argv[x++]); 69 uint32_t _nb_inst_branch_decod = fromString<uint32_t >(argv[x++]); 70 uint32_t _nb_inst_branch_update = fromString<uint32_t >(argv[x++]); 71 uint32_t _nb_inst_branch_complete = fromString<uint32_t >(argv[x++]); 72 uint32_t _btb_size_queue = fromString<uint32_t >(argv[x++]); 73 uint32_t _btb_associativity = fromString<uint32_t >(argv[x++]); 74 uint32_t _btb_size_counter = fromString<uint32_t >(argv[x++]); 75 Tvictim_t _btb_victim_scheme = fromString<Tvictim_t >(argv[x++]); 76 Tpredictor_t _dir_predictor_scheme = fromString<Tpredictor_t>(argv[x++]); 77 bool _dir_have_bht [3]; 78 for (uint32_t i=0; i<3; i++) 79 _dir_have_bht [i] = fromString<bool >(argv[x++]); 80 uint32_t _dir_bht_size_shifter [3]; 81 for (uint32_t i=0; i<3; i++) 82 _dir_bht_size_shifter [i] = fromString<uint32_t >(argv[x++]); 83 uint32_t _dir_bht_nb_shifter [3]; 84 for (uint32_t i=0; i<3; i++) 85 _dir_bht_nb_shifter [i] = fromString<uint32_t >(argv[x++]); 86 bool _dir_have_pht [3]; 87 for (uint32_t i=0; i<3; i++) 88 _dir_have_pht [i] = fromString<bool >(argv[x++]); 89 uint32_t _dir_pht_size_counter [3]; 90 for (uint32_t i=0; i<3; i++) 91 _dir_pht_size_counter [i] = fromString<uint32_t >(argv[x++]); 92 uint32_t _dir_pht_nb_counter [3]; 93 for (uint32_t i=0; i<3; i++) 94 _dir_pht_nb_counter [i] = fromString<uint32_t >(argv[x++]); 95 uint32_t _dir_pht_size_address_share [3]; 96 for (uint32_t i=0; i<3; i++) 97 _dir_pht_size_address_share [i] = fromString<uint32_t >(argv[x++]); 98 uint32_t * _ras_size_queue = new uint32_t [_nb_context]; 99 for (uint32_t i=0; i<_nb_context; i++) 100 _ras_size_queue [i] = fromString<uint32_t >(argv[x++]); 101 uint32_t * _upt_size_queue = new uint32_t [_nb_context]; 102 for (uint32_t i=0; i<_nb_context; i++) 103 _upt_size_queue [i] = fromString<uint32_t >(argv[x++]); 35 104 36 105 int _return = EXIT_SUCCESS; … … 38 107 { 39 108 morpheo::behavioural::core::multi_front_end::front_end::prediction_unit::Parameters * param = new morpheo::behavioural::core::multi_front_end::front_end::prediction_unit::Parameters 40 (//size_data, 41 //nb_port 42 ); 109 (_nb_context , 110 _nb_decod_unit , 111 _size_address , 112 _nb_instruction , 113 _nb_inst_decod , 114 _nb_inst_branch_predict , 115 _nb_inst_branch_decod , 116 _nb_inst_branch_update , 117 _nb_inst_branch_complete , 118 _btb_size_queue , 119 _btb_associativity , 120 _btb_size_counter , 121 _btb_victim_scheme , 122 _dir_predictor_scheme , 123 _dir_have_bht , 124 _dir_bht_size_shifter , 125 _dir_bht_nb_shifter , 126 _dir_have_pht , 127 _dir_pht_size_counter , 128 _dir_pht_nb_counter , 129 _dir_pht_size_address_share, 130 _ras_size_queue , 131 _upt_size_queue 132 ); 43 133 44 134 msg(_("%s"),param->print(1).c_str()); … … 57 147 } 58 148 149 delete [] _nb_instruction ; 150 delete [] _nb_inst_decod ; 151 delete [] _ras_size_queue ; 152 delete [] _upt_size_queue ; 153 59 154 return (_return); 60 155 }
Note: See TracChangeset
for help on using the changeset viewer.