Ignore:
Timestamp:
Jul 30, 2010, 4:47:27 PM (14 years ago)
Author:
rosiere
Message:
  • Add test for all configuration
  • RAT : add rat scheme (depth_save)
File:
1 edited

Legend:

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

    r88 r139  
    2020#undef  FUNCTION
    2121#define FUNCTION "Register_Address_Translation_unit::Parameters"
    22   Parameters::Parameters (uint32_t   nb_front_end       ,
    23                           uint32_t * nb_context         ,
    24                           uint32_t   nb_general_register,
    25                           uint32_t   nb_special_register,
    26                           uint32_t   nb_inst_insert     ,
    27                           uint32_t   nb_inst_retire     ,
    28                           bool       is_toplevel)
     22  Parameters::Parameters (uint32_t         nb_front_end        ,
     23                          uint32_t       * nb_context          ,//[nb_front_end]
     24                          uint32_t         nb_general_register ,
     25                          uint32_t         nb_special_register ,
     26                          Trat_scheme_t    rat_scheme          ,
     27                          uint32_t         nb_inst_insert      ,
     28                          uint32_t         nb_inst_retire      ,
     29                          uint32_t      ** nb_branch_speculated,//[nb_front_end][nb_context]
     30                          bool             is_toplevel)
    2931  {
    3032    log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"Begin");
    3133
    32     _nb_front_end           = nb_front_end       ;
    33     _nb_context             = nb_context         ;
    34     _nb_general_register    = nb_general_register;
    35     _nb_special_register    = nb_special_register;
    36     _nb_inst_insert         = nb_inst_insert     ;
    37     _nb_inst_retire         = nb_inst_retire     ;
     34    _nb_front_end           = nb_front_end        ;
     35    _nb_context             = nb_context          ;
     36    _nb_general_register    = nb_general_register ;
     37    _nb_special_register    = nb_special_register ;
     38    _rat_scheme             = rat_scheme          ;
     39    _nb_inst_insert         = nb_inst_insert      ;
     40    _nb_inst_retire         = nb_inst_retire      ;
     41    _nb_branch_speculated   = nb_branch_speculated;
     42
     43    _max_nb_context         = max<uint32_t>(_nb_context, _nb_front_end);
    3844
    3945    test();
     
    4147    if (is_toplevel)
    4248      {
    43         _size_front_end_id      = log2(nb_front_end       );
    44         _size_context_id        = log2(max<uint32_t>(nb_context, nb_front_end));
    45         _size_general_register  = log2(nb_general_register);
    46         _size_special_register  = log2(nb_special_register);
     49        _size_front_end_id      = log2(_nb_front_end       );
     50        _size_context_id        = log2(_max_nb_context     );
     51        _size_general_register  = log2(_nb_general_register);
     52        _size_special_register  = log2(_nb_special_register);
     53        _size_depth             = log2(max<uint32_t>(_nb_branch_speculated,_nb_front_end,_nb_context));
    4754   
    4855        _have_port_front_end_id = _size_front_end_id>0;
    4956        _have_port_context_id   = _size_context_id  >0;
    50        
     57        _have_port_depth        = _size_depth       >0;
     58
    5159        copy();
    5260      }
Note: See TracChangeset for help on using the changeset viewer.