Ignore:
Timestamp:
Dec 10, 2008, 7:31:39 PM (16 years ago)
Author:
rosiere
Message:

Almost complete design
with Test and test platform

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Load_Store_pointer_unit/src/Parameters.cpp

    r81 r88  
    2222  Parameters::Parameters (uint32_t    nb_front_end                    ,
    2323                          uint32_t  * nb_context                      ,
     24//                           uint32_t    size_front_end_id               ,
     25//                           uint32_t    size_context_id                 ,
    2426                          uint32_t    nb_load_store_queue             ,
    2527                          uint32_t  * size_store_queue                ,
     
    2729                          uint32_t ** link_load_store_unit_with_thread,
    2830                          uint32_t    nb_inst_insert                  ,
    29                           uint32_t    nb_inst_retire                  )
     31                          uint32_t    nb_inst_retire                  ,
     32                          bool        is_toplevel
     33                          )
    3034  {
    3135    log_printf(FUNC,Load_Store_pointer_unit,FUNCTION,"Begin");
     
    4044    _nb_inst_retire                   = nb_inst_retire                  ;
    4145   
    42     uint32_t max_nb_context       = max<uint32_t>(nb_context,       nb_front_end);
    43     uint32_t max_size_store_queue = max<uint32_t>(size_store_queue, nb_load_store_queue);
    44     uint32_t max_size_load_queue  = max<uint32_t>(size_load_queue,  nb_load_store_queue);
     46    test();
    4547
    46     _size_front_end_id                = log2(nb_front_end        );
    47     _size_context_id                  = log2(max_nb_context      );
    48     _size_store_queue_ptr             = log2(max_size_store_queue);
    49     _size_load_queue_ptr              = log2(max_size_load_queue );
    50     _have_port_front_end_id           = (_size_front_end_id   > 0);
    51     _have_port_context_id             = (_size_context_id     > 0);
    52     _have_port_load_queue_ptr         = (_size_load_queue_ptr > 0);
     48    if (is_toplevel)
     49      {
     50        _size_front_end_id                = log2(_nb_front_end);
     51        _size_context_id                  = log2(max<uint32_t>(_nb_context,_nb_front_end));
     52        _size_store_queue_ptr             = log2(max<uint32_t>(size_store_queue, nb_load_store_queue));
     53        _size_load_queue_ptr              = log2(max<uint32_t>(size_load_queue,  nb_load_store_queue));
     54
     55        _have_port_front_end_id           = (_size_front_end_id   > 0);
     56        _have_port_context_id             = (_size_context_id     > 0);
     57        _have_port_load_queue_ptr         = (_size_load_queue_ptr > 0);
    5358   
    54     test();
     59        copy();
     60      }
     61
    5562    log_printf(FUNC,Load_Store_pointer_unit,FUNCTION,"End");
    5663  };
     
    6774#undef  FUNCTION
    6875#define FUNCTION "Load_Store_pointer_unit::~Parameters"
    69   Parameters::~Parameters ()
     76  Parameters::~Parameters (void)
     77  {
     78    log_printf(FUNC,Load_Store_pointer_unit,FUNCTION,"Begin");
     79    log_printf(FUNC,Load_Store_pointer_unit,FUNCTION,"End");
     80  };
     81
     82#undef  FUNCTION
     83#define FUNCTION "Load_Store_pointer_unit::copy"
     84  void Parameters::copy (void)
    7085  {
    7186    log_printf(FUNC,Load_Store_pointer_unit,FUNCTION,"Begin");
Note: See TracChangeset for help on using the changeset viewer.