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
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/SelfTest/configuration.cfg

    r72 r77  
    882       2       +1      # size_special_data 
    9916      16      +1      # nb_special_register
    10 10      10      +1      # nb_operation       
    11 4       4       +1      # nb_type           
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/SelfTest/src/main.cpp

    r76 r77  
    99#include "Behavioural/Custom/include/Custom_example.h"
    1010
    11 #define NB_PARAMS 10
     11#define NB_PARAMS 8
    1212
    1313void usage (int argc, char * argv[])
     
    2323  err (_("  * size_special_data   (uint32_t)\n"));
    2424  err (_("  * nb_special_register (uint32_t)\n"));
    25   err (_("  * nb_operation        (uint32_t)\n"));
    26   err (_("  * nb_type             (uint32_t)\n"));
    2725  exit (1);
    2826}
     
    4846  const uint32_t size_special_data   = atoi(argv[x++]);
    4947  const uint32_t nb_special_register = atoi(argv[x++]);
    50   const uint32_t nb_operation        = atoi(argv[x++]);
    51   const uint32_t nb_type             = atoi(argv[x++]);
    5248
    5349  execute_timing_t ** timing = new execute_timing_t * [MAX_TYPE];
     
    7268         size_special_data   ,
    7369         nb_special_register ,
    74          nb_operation        ,
    75          nb_type             ,
    7670         timing              ,
    7771         &(morpheo::behavioural::custom::example_get_custom_information)
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/include/Parameters.h

    r76 r77  
    3636  public : const uint32_t            _size_special_data            ;
    3737  public : const uint32_t            _nb_special_register          ;
    38   public : const uint32_t            _nb_operation                 ;
    39   public : const uint32_t            _nb_type                      ;
    4038  public :       execute_timing_t ** _timing                       ;
    4139  public : morpheo::behavioural::custom::custom_information_t (*_get_custom_information) (uint32_t);
     
    4745  public : const uint32_t            _size_general_register        ;
    4846  public : const uint32_t            _size_special_register        ;
    49   public : const uint32_t            _size_operation               ;
    50   public : const uint32_t            _size_type                    ;
    5147
    5248  public : const bool                _have_port_context_id         ;
     
    6662                        uint32_t           size_special_data  ,
    6763                        uint32_t           nb_special_register,
    68                         uint32_t           nb_operation       ,
    69                         uint32_t           nb_type            ,
    7064                        execute_timing_t** timing             ,
    7165                        morpheo::behavioural::custom::custom_information_t (*get_custom_information) (uint32_t));
  • 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.