Changeset 109 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Read_unit_to_Execution_unit/src
- Timestamp:
- Feb 16, 2009, 9:28:31 PM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Read_unit_to_Execution_unit/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Read_unit_to_Execution_unit/src/Parameters.cpp
r88 r109 56 56 _table_execute_type = table_execute_type ; 57 57 _table_execute_thread = table_execute_thread; 58 59 log_printf(TRACE,Read_unit_to_Execution_unit,FUNCTION," * table_routing [nb_read_unit][nb_execute_unit][nb_execute_unit_port]"); 60 for (uint32_t i=0; i<_nb_read_unit; ++i) 61 for (uint32_t j=0; j<_nb_execute_unit; ++j) 62 for (uint32_t k=0; k<_nb_execute_unit_port[j]; ++k) 63 if (_table_routing [i][j][k]) 64 log_printf(TRACE,Read_unit_to_Execution_unit,FUNCTION," [%d][%d][%d] -> true",i,j,k); 65 66 log_printf(TRACE,Read_unit_to_Execution_unit,FUNCTION," * table_execute_type [nb_execute_unit][nb_type]"); 67 for (uint32_t i=0; i<_nb_execute_unit; ++i) 68 for (uint32_t j=0; j<_nb_type; ++j) 69 if (_table_execute_type [i][j]) 70 log_printf(TRACE,Read_unit_to_Execution_unit,FUNCTION," [%d][%d] -> true",i,j); 71 72 log_printf(TRACE,Read_unit_to_Execution_unit,FUNCTION," * table_execute_thread [nb_execute_unit][nb_thread]"); 73 for (uint32_t i=0; i<_nb_execute_unit; ++i) 74 for (uint32_t j=0; j<_nb_thread; ++j) 75 if (_table_execute_thread [i][j]) 76 log_printf(TRACE,Read_unit_to_Execution_unit,FUNCTION," [%d][%d] -> true",i,j); 58 77 59 78 _max_nb_read_unit_port = max<uint32_t>(_nb_read_unit_port, _nb_read_unit); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Read_unit_to_Execution_unit/src/Parameters_msg_error.cpp
r97 r109 42 42 // TYPE_MEMORY | | | X | 43 43 44 bool type_valid [_nb_type];45 bool type_uniq [_nb_type]; // one thread can have multiple destination for this type ?46 bool type_optionnal [_nb_type]; // this type is optionnal ?47 bool type_exclusive [_nb_type]; // a unit that implement this type must be implement an another type ?48 49 for (Ttype_t i=0; i<_nb_type; i++)50 {51 type_valid [i] = false;52 type_uniq [i] = false;53 type_optionnal [i] = false;54 type_exclusive [i] = false;55 }56 57 type_valid [TYPE_ALU ] = true;58 type_valid [TYPE_SHIFT ] = true;59 type_valid [TYPE_MOVE ] = true;60 type_valid [TYPE_TEST ] = true;61 type_valid [TYPE_MUL ] = true;62 type_valid [TYPE_DIV ] = true;63 type_valid [TYPE_EXTEND ] = true;64 type_valid [TYPE_FIND ] = true;65 type_valid [TYPE_SPECIAL] = true;66 type_valid [TYPE_CUSTOM ] = true;67 type_valid [TYPE_BRANCH ] = true;68 type_valid [TYPE_MEMORY ] = true;69 70 type_uniq [TYPE_SPECIAL] = true;71 type_uniq [TYPE_CUSTOM ] = true;72 type_uniq [TYPE_MEMORY ] = true;73 74 type_optionnal [TYPE_DIV ] = true;75 type_optionnal [TYPE_EXTEND ] = true;76 type_optionnal [TYPE_FIND ] = true;77 type_optionnal [TYPE_CUSTOM ] = true;78 79 type_exclusive [TYPE_MEMORY ] = true;80 81 44 bool type_present [_nb_thread][_nb_type]; 82 45 for (uint32_t i=0; i<_nb_thread; i++) … … 94 57 95 58 // Test uniq type 96 if (type_present [j][k] and type_uniq[k])59 if (type_present [j][k] and is_type_uniq(k)) 97 60 test.error(toString(_("The execute_unit '%d' can execute operation of type '%s' at the thread '%d'. But an another execute_unit can be execute the same type for the same thread. And the type must be single !.\n"),i,toString(k).c_str(),j)); 98 61 … … 101 64 102 65 for (Ttype_t j=0; j<_nb_type; j++) 103 if (not type_valid [j])66 if (not is_type_valid(j)) 104 67 for (uint32_t i=0; i<_nb_thread; i++) 105 68 if (type_present [i][j]) … … 107 70 108 71 for (Ttype_t j=0; j<_nb_type; j++) 109 if ( type_valid [j] and not type_optionnal[j])72 if (is_type_valid(j) and not is_type_optionnal(j)) 110 73 for (uint32_t i=0; i<_nb_thread; i++) 111 74 if (not type_present [i][j]) … … 115 78 for (uint32_t i=0; i<_nb_execute_unit; i++) 116 79 for (Ttype_t j=0; j<_nb_type; j++) 117 if ( type_exclusive [j]and _table_execute_type[i][j])80 if (is_type_exclusive(j) and _table_execute_type[i][j]) 118 81 for (Ttype_t k=0; k<_nb_type; k++) 119 82 if ((j != k) and (_table_execute_type[i][k] == true))
Note: See TracChangeset
for help on using the changeset viewer.