Ignore:
Timestamp:
Feb 5, 2008, 5:21:20 PM (16 years ago)
Author:
rosiere
Message:
  • Add two component :
    • network between read unit and execute unit
    • network between execute unit and write unit
  • remove parameters "nb_operation" and "nb_type"
  • in write_queue add the special case : load_speculative
Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_allocation.cpp

    r76 r77  
    153153       }
    154154
    155      _function_execute = new function_execute_t ** [MAX_TYPE];
     155     _function_execute = new function_execute_t ** [_param->_nb_type];
    156156     
    157157     // Initialisation
    158      for (uint32_t i=0; i<MAX_TYPE; i++)
     158     for (uint32_t i=0; i<_param->_nb_type; i++)
    159159       {
    160          _function_execute [i] = new function_execute_t * [MAX_OPERATION];
     160         _function_execute [i] = new function_execute_t * [_param->_nb_operation];
    161161         
    162          for (uint32_t j=0; j<MAX_OPERATION; j++)
     162         for (uint32_t j=0; j<_param->_nb_operation; j++)
    163163           _function_execute [i][j] = &(operation_unimplemented);
    164164       }
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_transition.cpp

    r76 r77  
    8686
    8787#ifdef DEBUG_TEST
    88             if (operation >= MAX_OPERATION)
    89               throw ERRORMORPHEO(FUNCTION,"Invalid operation : '"+toString(operation)+"' is higher that MAX_OPERATION");
     88            if (type >= _param->_nb_type)
     89              throw ERRORMORPHEO(FUNCTION,"Invalid type : '"+toString(type)+"' is higher that _nb_type");
     90            if (operation >= _param->_nb_operation)
     91              throw ERRORMORPHEO(FUNCTION,"Invalid operation : '"+toString(operation)+"' is higher that _nb_operation");
    9092#endif
    9193
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Parameters.cpp

    r76 r77  
    2828                          uint32_t           size_special_data  ,
    2929                          uint32_t           nb_special_register,
    30                           uint32_t           nb_operation       ,
    31                           uint32_t           nb_type            ,
    3230                          execute_timing_t** timing             ,
    3331                          morpheo::behavioural::custom::custom_information_t (*get_custom_information) (uint32_t)) :
     
    4038    _size_special_data       (size_special_data     ),
    4139    _nb_special_register     (nb_special_register   ),
    42     _nb_operation            (nb_operation          ),
    43     _nb_type                 (nb_type               ),
    4440   
    4541    _size_context_id         (log2(nb_context      )),
     
    4945    _size_general_register   (log2(_size_general_register)),
    5046    _size_special_register   (log2(_size_special_register)),
    51     _size_operation          (log2(_size_operation       )),
    52     _size_type               (log2(_size_type            )),
    5347
    5448    _have_port_context_id    (_size_context_id    > 0),
     
    8276    _size_special_data       (param._size_special_data      ),
    8377    _nb_special_register     (param._nb_special_register    ),
    84     _nb_operation            (param._nb_operation           ),
    85     _nb_type                 (param._nb_type                ),
    8678
    8779    _size_context_id         (param._size_context_id        ),
     
    9183    _size_general_register   (param._size_general_register  ),
    9284    _size_special_register   (param._size_special_register  ),
    93     _size_operation          (param._size_operation         ),
    94     _size_type               (param._size_type              ),
    9585
    9686    _have_port_context_id    (param._have_port_context_id   ),
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Parameters_msg_error.cpp

    r76 r77  
    2828    std::string msg = "";
    2929
    30     for (uint32_t i=0; i<MAX_TYPE; i++)
    31       for (uint32_t j=0; j<MAX_OPERATION; j++)
     30    for (uint32_t i=0; i<_nb_type; i++)
     31      for (uint32_t j=0; j<_nb_operation; j++)
    3232        if (_timing[i][j]._delay != _timing[i][j]._latence)
    3333          msg = "  - For the type '"+toString(i)+"', and the operation '"+toString(j)+"', the delay and the latence must be equal.";
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Parameters_print.cpp

    r72 r77  
    3535    xml.singleton_begin("size_special_data  "); xml.attribut("value",toString(_size_special_data  )); xml.singleton_end();
    3636    xml.singleton_begin("nb_special_register"); xml.attribut("value",toString(_nb_special_register)); xml.singleton_end();
    37     xml.singleton_begin("nb_operation       "); xml.attribut("value",toString(_nb_operation       )); xml.singleton_end();
    38     xml.singleton_begin("nb_type            "); xml.attribut("value",toString(_nb_type            )); xml.singleton_end();
    3937    xml.balise_close();
    4038
Note: See TracChangeset for help on using the changeset viewer.