Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Read_unit_to_Execution_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/Read_unit_to_Execution_unit/SelfTest/src/main.cpp
r81 r88 15 15 err (_("list_params is :\n")); 16 16 err (_(" * nb_read_unit (uint32_t)\n")); 17 err (_(" * nb_read_unit_port [nb_read_unit] (uint32_t)\n")); 17 18 err (_(" * nb_execute_unit (uint32_t)\n")); 19 err (_(" * nb_execute_unit_port [nb_execute_unit] (uint32_t)\n")); 18 20 err (_(" * nb_context (uint32_t)\n")); 19 21 err (_(" * nb_front_end (uint32_t)\n")); … … 33 35 err (_(" * [TYPE_MOVE ]\n")); 34 36 err (_(" * [TYPE_TEST ]\n")); 35 err (_(" * [TYPE_MUL_DIV]\n")); 37 err (_(" * [TYPE_MUL ]\n")); 38 err (_(" * [TYPE_DIV ]\n")); 36 39 err (_(" * [TYPE_EXTEND ]\n")); 37 40 err (_(" * [TYPE_FIND ]\n")); … … 58 61 string name = argv[x++]; 59 62 uint32_t _nb_read_unit = atoi(argv[x++]); 63 64 if (static_cast<uint32_t>(argc) < 2+NB_PARAMS+_nb_read_unit) 65 usage (argc, argv); 66 67 uint32_t * _nb_read_unit_port = new uint32_t [_nb_read_unit]; 68 for (uint32_t i=0; i<_nb_read_unit; i++) 69 _nb_read_unit_port [i] = atoi(argv[x++]); 70 60 71 uint32_t _nb_execute_unit = atoi(argv[x++]); 72 73 if (static_cast<uint32_t>(argc) < 2+NB_PARAMS+_nb_read_unit+_nb_execute_unit) 74 usage (argc, argv); 75 76 uint32_t _sum_execute_unit_port = 0; 77 uint32_t * _nb_execute_unit_port = new uint32_t [_nb_execute_unit]; 78 for (uint32_t i=0; i<_nb_execute_unit; i++) 79 { 80 _nb_execute_unit_port [i] = atoi(argv[x++]); 81 _sum_execute_unit_port += _nb_execute_unit_port [i]; 82 } 83 61 84 uint32_t _nb_context = atoi(argv[x++]); 62 85 uint32_t _nb_front_end = atoi(argv[x++]); … … 70 93 uint32_t _size_load_queue = atoi(argv[x++]); 71 94 Tpriority_t _priority = fromString<Tpriority_t>(argv[x++]); 72 95 73 96 uint32_t _nb_thread = get_nb_thread(_nb_context, _nb_front_end, _nb_ooo_engine); 74 97 75 if (static_cast<uint32_t>(argc) != 2+NB_PARAMS+(_nb_read_unit*_nb_execute_unit)+(_nb_execute_unit*11)+(_nb_execute_unit*_nb_thread)) 76 usage (argc, argv); 77 78 bool ** _table_routing ; 79 bool ** _table_execute_type ; 80 bool ** _table_execute_thread ; 81 82 _table_routing = new bool * [_nb_read_unit]; 98 msg("%d\n",argc); 99 msg("%d\n",2+NB_PARAMS+(_nb_read_unit+_nb_execute_unit+(_nb_read_unit*_sum_execute_unit_port)+(_nb_execute_unit*12)+(_nb_execute_unit*_nb_thread))); 100 101 if (static_cast<uint32_t>(argc) != 2+NB_PARAMS+(_nb_read_unit+_nb_execute_unit+(_nb_read_unit*_sum_execute_unit_port)+(_nb_execute_unit*12)+(_nb_execute_unit*_nb_thread))) 102 usage (argc, argv); 103 104 bool *** _table_routing ; 105 bool ** _table_execute_type ; 106 bool ** _table_execute_thread ; 107 108 _table_routing = new bool ** [_nb_read_unit]; 83 109 for (uint32_t i=0; i<_nb_read_unit; i++) 84 110 { 85 _table_routing [i] = new bool [_nb_execute_unit];111 _table_routing [i] = new bool * [_nb_execute_unit]; 86 112 for (uint32_t j=0; j<_nb_execute_unit; j++) 87 _table_routing [i][j] = atoi(argv[x++]); 88 } 89 113 { 114 _table_routing [i][j] = new bool [_nb_execute_unit_port [j]]; 115 116 for (uint32_t k=0; k<_nb_execute_unit_port [j]; k++) 117 _table_routing [i][j][k] = atoi(argv[x++]); 118 } 119 } 120 90 121 _table_execute_type = new bool * [_nb_execute_unit]; 91 122 for (uint32_t i=0; i<_nb_execute_unit; i++) … … 97 128 _table_execute_type [i][TYPE_MOVE ] = atoi(argv[x++]); 98 129 _table_execute_type [i][TYPE_TEST ] = atoi(argv[x++]); 99 _table_execute_type [i][TYPE_MUL_DIV] = atoi(argv[x++]); 130 _table_execute_type [i][TYPE_MUL ] = atoi(argv[x++]); 131 _table_execute_type [i][TYPE_DIV ] = atoi(argv[x++]); 100 132 _table_execute_type [i][TYPE_EXTEND ] = atoi(argv[x++]); 101 133 _table_execute_type [i][TYPE_FIND ] = atoi(argv[x++]); … … 119 151 morpheo::behavioural::core::multi_execute_loop::execute_loop::network::read_unit_to_execution_unit::Parameters * param = new morpheo::behavioural::core::multi_execute_loop::execute_loop::network::read_unit_to_execution_unit::Parameters 120 152 (_nb_read_unit , 153 _nb_read_unit_port , 121 154 _nb_execute_unit , 155 _nb_execute_unit_port , 122 156 _nb_context , 123 157 _nb_front_end , … … 133 167 _table_routing , 134 168 _table_execute_type , 135 _table_execute_thread 169 _table_execute_thread , 170 true // is_toplevel 136 171 ); 137 172 … … 151 186 } 152 187 153 delete [] _table_routing ; 188 delete [] _nb_read_unit_port; 189 delete [] _nb_execute_unit_port ; 190 191 for (uint32_t i=0; i<_nb_read_unit; i++) 192 { 193 for (uint32_t j=0; j<_nb_execute_unit; j++) 194 delete [] _table_routing [i][j]; 195 delete [] _table_routing [i]; 196 } 197 delete [] _table_routing; 198 199 200 for (uint32_t i=0; i<_nb_execute_unit; i++) 201 delete [] _table_execute_type [i]; 154 202 delete [] _table_execute_type ; 203 204 for (uint32_t i=0; i<_nb_execute_unit; i++) 205 delete [] _table_execute_thread [i]; 155 206 delete [] _table_execute_thread ; 207 156 208 157 209 return (EXIT_SUCCESS);
Note: See TracChangeset
for help on using the changeset viewer.