Ignore:
Timestamp:
Feb 16, 2009, 9:28:31 PM (15 years ago)
Author:
rosiere
Message:

1) Configuration : instance configuration file : regroup similar instance
2) Configuration : timing default = 0
3) Debug/Commit_unit : Add watch dog timer
4) Issue_queue : Test parameters : add test if type is optionnal
5) Cor_glue : Fix insert index
6) Free_list : remove bank_by_pop (else deadlock)
7) Update Free List : add register to source event

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/src/Parameters_msg_error.cpp

    r97 r109  
    4242    // TYPE_MEMORY  |           |            |     X      |
    4343   
    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 
    8144    bool type_present [_nb_thread][_nb_type];
    8245    for (uint32_t i=0; i<_nb_thread; i++)
     
    9457               
    9558                // Test uniq type
    96                 if (type_present [j][k] and type_uniq[k])
     59                if (type_present [j][k] and is_type_uniq(k))
    9760                  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));
    9861               
     
    10164
    10265    for (Ttype_t j=0; j<_nb_type; j++)
    103       if (not type_valid [j])
     66      if (not is_type_valid(j))
    10467        for (uint32_t i=0; i<_nb_thread; i++)
    10568          if (type_present [i][j])
     
    10770
    10871    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))
    11073        for (uint32_t i=0; i<_nb_thread; i++)
    11174          if (not type_present [i][j])
     
    11578    for (uint32_t i=0; i<_nb_execute_unit; i++)
    11679      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])
    11881          for (Ttype_t k=0; k<_nb_type; k++)
    11982            if ((j != k) and (_table_execute_type[i][k] == true))
Note: See TracChangeset for help on using the changeset viewer.