Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Execution_unit_to_Write_unit/SelfTest/src/main.cpp
- Timestamp:
- Dec 10, 2008, 7:31:39 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Execution_unit_to_Write_unit/SelfTest/src/main.cpp
r81 r88 14 14 err (_("<Usage> %s name_instance list_params.\n"),argv[0]); 15 15 err (_("list_params is :\n")); 16 err (_(" * nb_execute_unit (uint32_t)\n")); 17 err (_(" * nb_write_unit (uint32_t)\n")); 18 err (_(" * nb_context (uint32_t)\n")); 19 err (_(" * nb_front_end (uint32_t)\n")); 20 err (_(" * nb_ooo_engine (uint32_t)\n")); 21 err (_(" * nb_packet (uint32_t)\n")); 22 err (_(" * size_general_data (uint32_t)\n")); 23 err (_(" * size_special_data (uint32_t)\n")); 24 err (_(" * nb_general_register (uint32_t)\n")); 25 err (_(" * nb_special_register (uint32_t)\n")); 26 err (_(" * priority (uint32_t)\n")); 27 err (_(" * table_routing [nb_execute_unit][nb_write_unit] (bool )\n")); 28 err (_(" * table_thread [nb_write_unit][nb_thread] (bool )\n")); 16 err (_(" * nb_execute_unit (uint32_t)\n")); 17 err (_(" * nb_execute_unit_port [nb_execute_unit] (uint32_t)\n")); 18 err (_(" * nb_write_unit (uint32_t)\n")); 19 err (_(" * nb_context (uint32_t)\n")); 20 err (_(" * nb_front_end (uint32_t)\n")); 21 err (_(" * nb_ooo_engine (uint32_t)\n")); 22 err (_(" * nb_packet (uint32_t)\n")); 23 err (_(" * size_general_data (uint32_t)\n")); 24 err (_(" * size_special_data (uint32_t)\n")); 25 err (_(" * nb_general_register (uint32_t)\n")); 26 err (_(" * nb_special_register (uint32_t)\n")); 27 err (_(" * priority (uint32_t)\n")); 28 err (_(" * table_routing [nb_execute_unit][nb_execute_unit_port][nb_write_unit] (bool )\n")); 29 err (_(" * table_thread [nb_write_unit][nb_thread] (bool )\n")); 29 30 30 31 exit (1); … … 43 44 44 45 const string name = argv[x++]; 45 uint32_t _nb_execute_unit = atoi(argv[x++]); 46 uint32_t _nb_write_unit = atoi(argv[x++]); 47 uint32_t _nb_context = atoi(argv[x++]); 48 uint32_t _nb_front_end = atoi(argv[x++]); 49 uint32_t _nb_ooo_engine = atoi(argv[x++]); 50 uint32_t _nb_packet = atoi(argv[x++]); 51 uint32_t _size_general_data = atoi(argv[x++]); 52 uint32_t _size_special_data = atoi(argv[x++]); 53 uint32_t _nb_general_register = atoi(argv[x++]); 54 uint32_t _nb_special_register = atoi(argv[x++]); 46 uint32_t _nb_execute_unit = fromString<uint32_t>(argv[x++]); 47 48 if (static_cast<uint32_t>(argc) <= 2+NB_PARAMS+_nb_execute_unit) 49 usage (argc, argv); 50 51 uint32_t _sum_execute_unit_port = 0; 52 uint32_t * _nb_execute_unit_port = new uint32_t [_nb_execute_unit]; 53 for (uint32_t i=0; i<_nb_execute_unit; i++) 54 { 55 _nb_execute_unit_port [i] = fromString<uint32_t>(argv[x++]); 56 _sum_execute_unit_port += _nb_execute_unit_port [i]; 57 } 58 59 uint32_t _nb_write_unit = fromString<uint32_t>(argv[x++]); 60 uint32_t _nb_context = fromString<uint32_t>(argv[x++]); 61 uint32_t _nb_front_end = fromString<uint32_t>(argv[x++]); 62 uint32_t _nb_ooo_engine = fromString<uint32_t>(argv[x++]); 63 uint32_t _nb_packet = fromString<uint32_t>(argv[x++]); 64 uint32_t _size_general_data = fromString<uint32_t>(argv[x++]); 65 uint32_t _size_special_data = fromString<uint32_t>(argv[x++]); 66 uint32_t _nb_general_register = fromString<uint32_t>(argv[x++]); 67 uint32_t _nb_special_register = fromString<uint32_t>(argv[x++]); 55 68 Tpriority_t _priority = fromString<Tpriority_t>(argv[x++]); 56 69 57 70 uint32_t _nb_thread = get_nb_thread(_nb_context, _nb_front_end, _nb_ooo_engine); 58 71 59 if (static_cast<uint32_t>(argc) != 2+NB_PARAMS+ (_nb_write_unit*_nb_execute_unit)+(_nb_write_unit*_nb_thread))72 if (static_cast<uint32_t>(argc) != 2+NB_PARAMS+_nb_execute_unit+(_nb_write_unit*_sum_execute_unit_port)+(_nb_write_unit*_nb_thread)) 60 73 usage (argc, argv); 61 74 62 bool ** _table_routing;63 bool ** _table_thread ;75 bool *** _table_routing; 76 bool ** _table_thread ; 64 77 65 _table_routing = new bool * [_nb_execute_unit];78 _table_routing = new bool ** [_nb_execute_unit]; 66 79 for (uint32_t i=0; i<_nb_execute_unit; i++) 67 80 { 68 _table_routing [i] = new bool [_nb_write_unit]; 69 for (uint32_t j=0; j<_nb_write_unit; j++) 70 _table_routing [i][j] = atoi(argv[x++]); 81 _table_routing [i] = new bool * [_nb_execute_unit_port [i]]; 82 for (uint32_t j=0; j<_nb_execute_unit_port [i]; j++) 83 { 84 _table_routing [i][j] = new bool [_nb_write_unit]; 85 for (uint32_t k=0; k<_nb_write_unit; k++) 86 _table_routing [i][j][k] = fromString<bool>(argv[x++]); 87 } 71 88 } 72 89 … … 77 94 78 95 for (uint32_t j=0; j<_nb_thread; j++) 79 _table_thread [i][j] = atoi(argv[x++]);96 _table_thread [i][j] = fromString<bool>(argv[x++]); 80 97 } 81 98 99 int _return = EXIT_SUCCESS; 82 100 try 83 101 { 84 102 morpheo::behavioural::core::multi_execute_loop::execute_loop::network::execution_unit_to_write_unit::Parameters * param = new morpheo::behavioural::core::multi_execute_loop::execute_loop::network::execution_unit_to_write_unit::Parameters 85 103 (_nb_execute_unit , 104 _nb_execute_unit_port , 86 105 _nb_write_unit , 87 106 _nb_context , … … 95 114 _priority , 96 115 _table_routing , 97 _table_thread 116 _table_thread , 117 true //is_toplevel 98 118 ); 99 119 100 msg(_("%s"),param->print( 1).c_str());120 msg(_("%s"),param->print(0).c_str()); 101 121 102 122 test (name,param); … … 104 124 catch (morpheo::ErrorMorpheo & error) 105 125 { 106 msg (_("<%s> : %s.\n"),name.c_str(), error.what ());107 exit (EXIT_FAILURE);126 msg (_("<%s> :\n%s"),name.c_str(), error.what ()); 127 _return = EXIT_FAILURE; 108 128 } 109 catch (...) 129 130 try 110 131 { 111 err (_("<%s> : This test must generate a error.\n"),name.c_str()); 112 exit (EXIT_FAILURE); 132 if (_return == EXIT_SUCCESS) 133 TEST_OK("Execution_unit_to_Write_unit : no error"); 134 else 135 TEST_KO("Execution_unit_to_Write_unit : a lot of error"); 136 } 137 catch (morpheo::ErrorMorpheo & error) 138 { 139 // msg (_("<%s> :\n%s"),name.c_str(), error.what ()); 140 _return = EXIT_FAILURE; 113 141 } 114 142
Note: See TracChangeset
for help on using the changeset viewer.