Ignore:
Timestamp:
May 12, 2010, 7:34:01 PM (14 years ago)
Author:
rosiere
Message:

1) add counters_t type for interface
2) fix in check load in load_store_unit
3) add parameters (but not yet implemented)
4) change environment and add script (distcc_env.sh ...)
5) add warning if an unser change rename flag with l.mtspr instruction
6) ...

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine
Files:
23 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/include/Commit_unit.h

    r137 r138  
    208208
    209209    // ~~~~~[ Interface "event" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    210   public    : SC_IN (Tcontrol_t        ) ***  in_EVENT_VAL                        ;//[nb_front_end][nb_context]
    211   public    : SC_OUT(Tcontrol_t        ) *** out_EVENT_ACK                        ;//[nb_front_end][nb_context]
    212   public    : SC_IN (Taddress_t        ) ***  in_EVENT_ADDRESS                    ;//[nb_front_end][nb_context]
    213   public    : SC_IN (Taddress_t        ) ***  in_EVENT_ADDRESS_NEXT               ;//[nb_front_end][nb_context]
    214   public    : SC_IN (Tcontrol_t        ) ***  in_EVENT_ADDRESS_NEXT_VAL           ;//[nb_front_end][nb_context]
    215   public    : SC_IN (Tcontrol_t        ) ***  in_EVENT_IS_DS_TAKE                 ;//[nb_front_end][nb_context]
     210  public    : SC_IN (Tcontrol_t         ) ***  in_EVENT_VAL                        ;//[nb_front_end][nb_context]
     211  public    : SC_OUT(Tcontrol_t         ) *** out_EVENT_ACK                        ;//[nb_front_end][nb_context]
     212  public    : SC_IN (Taddress_t         ) ***  in_EVENT_ADDRESS                    ;//[nb_front_end][nb_context]
     213  public    : SC_IN (Taddress_t         ) ***  in_EVENT_ADDRESS_NEXT               ;//[nb_front_end][nb_context]
     214  public    : SC_IN (Tcontrol_t         ) ***  in_EVENT_ADDRESS_NEXT_VAL           ;//[nb_front_end][nb_context]
     215  public    : SC_IN (Tcontrol_t         ) ***  in_EVENT_IS_DS_TAKE                 ;//[nb_front_end][nb_context]
    216216
    217217    // ~~~~~[ Interface : "nb_inst" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~         
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/include/Parameters.h

    r117 r138  
    2424  {
    2525    //-----[ fields ]------------------------------------------------------------
    26   public : uint32_t            _nb_front_end                       ;
    27   public : uint32_t          * _nb_context                         ;//[nb_front_end]
    28   public : uint32_t            _nb_rename_unit                     ;
    29   public : uint32_t            _size_queue                         ;
    30   public : uint32_t            _nb_bank                            ;
    31   public : uint32_t          * _nb_inst_insert                     ;//[nb_rename_unit]
    32   public : uint32_t          * _nb_inst_retire                     ;//[nb_rename_unit]
    33   public : uint32_t            _nb_inst_commit                     ;
    34   public : uint32_t            _nb_inst_reexecute                  ;
    35   public : uint32_t            _nb_inst_branch_complete            ;
    36   public : uint32_t         ** _nb_branch_speculated               ;//[nb_front_end][nb_context]
    37 //public : uint32_t            _size_general_data                  ;
    38 //public : uint32_t            _size_store_queue_ptr               ;
    39 //public : uint32_t            _size_load_queue_ptr                ;
    40 //public : uint32_t            _size_general_register              ;
    41 //public : uint32_t            _size_special_register              ;
    42   public : Tpriority_t         _priority                           ;
    43   public : Tload_balancing_t   _load_balancing                     ;
    44   public : uint32_t            _nb_rename_unit_select              ;
    45   public : uint32_t            _nb_thread                          ;
    46   public : uint32_t         ** _translate_num_context_to_num_thread; //[nb_front_end][nb_context]
    47   public : const uint32_t      _nb_bank_access_commit              ;
    48   public : const retire_ooo_t  _retire_ooo                         ;
    49 
    50   public : uint32_t            _max_nb_context          ;
    51   public : uint32_t            _max_nb_inst_insert      ;
    52   public : uint32_t            _max_nb_inst_retire      ;
    53 //public : uint32_t            _size_address            ;
    54 //public : uint32_t            _size_front_end_id       ;
    55 //public : uint32_t            _size_context_id         ;
    56   public : uint32_t            _size_rename_unit_id     ;   
    57   public : uint32_t            _size_bank               ;
    58 //public : uint32_t            _size_nb_inst            ;
    59 //public : uint32_t            _size_packet_id          ;
    60   public : uint32_t         ** _array_size_depth        ;//[nb_front_end][nb_context]
    61 //public : uint32_t            _max_size_depth          ;
    62 
    63 //public : Tpacket_t           _shift_num_bank          ;
    64   public : Tpacket_t           _mask_num_bank           ;
    65   public : Tpacket_t           _shift_num_slot          ;
    66 //public : Tpacket_t           _mask_num_slot           ;
    67    
    68 
    69 //public : bool                _have_port_front_end_id  ;
    70 //public : bool                _have_port_context_id    ;
    71 //public : bool                _have_port_packet_id     ;
    72   public : bool                _have_port_rename_unit_id;
    73 //public : bool                _have_port_load_queue_ptr;
    74 //public : bool                _have_port_max_depth     ;
    75 //public : bool             ** _have_port_depth         ;//[nb_front_end][nb_context]
    76 
    77   public : bool              * _have_thread             ;//[nb_thread]
     26  public : uint32_t             _nb_front_end                       ;
     27  public : uint32_t           * _nb_context                         ;//[nb_front_end]
     28  public : uint32_t             _nb_rename_unit                     ;
     29  public : uint32_t             _size_queue                         ;
     30  public : uint32_t             _nb_bank                            ;
     31  public : Tretire_ooo_scheme_t _retire_ooo_scheme                  ;
     32  public : uint32_t           * _nb_inst_insert                     ;//[nb_rename_unit]
     33  public : uint32_t           * _nb_inst_retire                     ;//[nb_rename_unit]
     34  public : uint32_t             _nb_inst_commit                     ;
     35  public : uint32_t             _nb_inst_reexecute                  ;
     36  public : uint32_t             _nb_inst_branch_complete            ;
     37  public : uint32_t          ** _nb_branch_speculated               ;//[nb_front_end][nb_context]
     38//public : uint32_t             _size_general_data                  ;
     39//public : uint32_t             _size_store_queue_ptr               ;
     40//public : uint32_t             _size_load_queue_ptr                ;
     41//public : uint32_t             _size_general_register              ;
     42//public : uint32_t             _size_special_register              ;
     43  public : Tpriority_t          _priority                           ;
     44  public : Tload_balancing_t    _load_balancing                     ;
     45  public : uint32_t             _nb_rename_unit_select              ;
     46  public : uint32_t             _nb_thread                          ;
     47  public : uint32_t          ** _translate_num_context_to_num_thread; //[nb_front_end][nb_context]
     48  public : const uint32_t       _nb_bank_access_commit              ;
     49                             
     50  public : uint32_t             _max_nb_context          ;
     51  public : uint32_t             _max_nb_inst_insert      ;
     52  public : uint32_t             _max_nb_inst_retire      ;
     53//public : uint32_t             _size_address            ;
     54//public : uint32_t             _size_front_end_id       ;
     55//public : uint32_t             _size_context_id         ;
     56  public : uint32_t             _size_rename_unit_id     ;   
     57  public : uint32_t             _size_bank               ;
     58//public : uint32_t             _size_nb_inst            ;
     59//public : uint32_t             _size_packet_id          ;
     60  public : uint32_t          ** _array_size_depth        ;//[nb_front_end][nb_context]
     61//public : uint32_t             _max_size_depth          ;
     62                             
     63//public : Tpacket_t            _shift_num_bank          ;
     64  public : Tpacket_t            _mask_num_bank           ;
     65  public : Tpacket_t            _shift_num_slot          ;
     66//public : Tpacket_t            _mask_num_slot           ;
     67                             
     68                             
     69//public : bool                 _have_port_front_end_id  ;
     70//public : bool                 _have_port_context_id    ;
     71//public : bool                 _have_port_packet_id     ;
     72  public : bool                 _have_port_rename_unit_id;
     73//public : bool                 _have_port_load_queue_ptr;
     74//public : bool                 _have_port_max_depth     ;
     75//public : bool              ** _have_port_depth         ;//[nb_front_end][nb_context]
     76                             
     77  public : bool               * _have_thread             ;//[nb_thread]
    7878
    7979    //-----[ methods ]-----------------------------------------------------------
    80   public : Parameters  (uint32_t            nb_front_end                       ,
    81                         uint32_t          * nb_context                         ,//[nb_front_end]
    82                         uint32_t            nb_rename_unit                     ,
    83                         uint32_t            size_queue                         ,
    84                         uint32_t            nb_bank                            ,
    85                         uint32_t          * nb_inst_insert                     ,//[nb_rename_unit]
    86                         uint32_t          * nb_inst_retire                     ,//[nb_rename_unit]
    87                         uint32_t            nb_inst_commit                     ,
    88                         uint32_t            nb_inst_reexecute                  ,
    89                         uint32_t            nb_inst_branch_complete            ,
    90                         uint32_t         ** nb_branch_speculated               ,//[nb_front_end][nb_context]
    91                         uint32_t            size_nb_inst_decod                 ,
    92                         uint32_t            size_general_data                  ,
    93                         uint32_t            size_store_queue_ptr               ,
    94                         uint32_t            size_load_queue_ptr                ,
    95                         uint32_t            size_general_register              ,
    96                         uint32_t            size_special_register              ,
    97                         Tpriority_t         priority                           ,
    98                         Tload_balancing_t   load_balancing                     ,
    99                         uint32_t            nb_rename_unit_select              ,
    100                         uint32_t            nb_thread                          ,
    101                         uint32_t         ** translate_num_context_to_num_thread, //[nb_front_end][nb_context]
    102                         bool                is_toplevel=false
     80  public : Parameters  (uint32_t             nb_front_end                       ,
     81                        uint32_t           * nb_context                         ,//[nb_front_end]
     82                        uint32_t             nb_rename_unit                     ,
     83                        uint32_t             size_queue                         ,
     84                        uint32_t             nb_bank                            ,
     85                        Tretire_ooo_scheme_t retire_ooo_scheme                  ,
     86                        uint32_t           * nb_inst_insert                     ,//[nb_rename_unit]
     87                        uint32_t           * nb_inst_retire                     ,//[nb_rename_unit]
     88                        uint32_t             nb_inst_commit                     ,
     89                        uint32_t             nb_inst_reexecute                  ,
     90                        uint32_t             nb_inst_branch_complete            ,
     91                        uint32_t          ** nb_branch_speculated               ,//[nb_front_end][nb_context]
     92                        uint32_t             size_nb_inst_decod                 ,
     93                        uint32_t             size_general_data                  ,
     94                        uint32_t             size_store_queue_ptr               ,
     95                        uint32_t             size_load_queue_ptr                ,
     96                        uint32_t             size_general_register              ,
     97                        uint32_t             size_special_register              ,
     98                        Tpriority_t          priority                           ,
     99                        Tload_balancing_t    load_balancing                     ,
     100                        uint32_t             nb_rename_unit_select              ,
     101                        uint32_t             nb_thread                          ,
     102                        uint32_t          ** translate_num_context_to_num_thread, //[nb_front_end][nb_context]
     103                        bool                 is_toplevel=false
    103104                        );
    104105//   public : Parameters  (Parameters & param) ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/include/Types.h

    r137 r138  
    2323      RETIRE_OOO_RENAME_UNIT,
    2424      RETIRE_OOO_CONTEXT
    25     } retire_ooo_t;
     25    } Tretire_ooo_scheme_t;
    2626
    2727  typedef enum
     
    142142}; // end namespace core
    143143}; // end namespace behavioural
     144
     145  template<> inline std::string toString<morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::Tretire_ooo_scheme_t>(const morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::Tretire_ooo_scheme_t& x)
     146  {
     147    switch (x)
     148      {
     149      case morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::RETIRE_IN_ORDER        : return "retire_in_order"       ; break;
     150      case morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::RETIRE_OOO_RENAME_UNIT : return "retire_ooo_rename_unit"; break;
     151      case morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::RETIRE_OOO_CONTEXT     : return "retire_ooo_context"    ; break;
     152      default    : return ""      ; break;
     153      }
     154  };
     155
     156  template<> inline morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::Tretire_ooo_scheme_t fromString<morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::Tretire_ooo_scheme_t>(const std::string& x)
     157  {
     158    if ((x.compare(toString(static_cast<uint32_t>(morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::RETIRE_IN_ORDER       ))) == 0) or
     159        (x.compare(toString(                      morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::RETIRE_IN_ORDER        )) == 0))
     160      return morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::RETIRE_IN_ORDER;
     161
     162    if ((x.compare(toString(static_cast<uint32_t>(morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::RETIRE_OOO_RENAME_UNIT))) == 0) or
     163        (x.compare(toString(                      morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::RETIRE_OOO_RENAME_UNIT )) == 0))
     164      return morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::RETIRE_OOO_RENAME_UNIT;
     165
     166    if ((x.compare(toString(static_cast<uint32_t>(morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::RETIRE_OOO_CONTEXT    ))) == 0) or
     167        (x.compare(toString(                      morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::RETIRE_OOO_CONTEXT     )) == 0))
     168      return morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::RETIRE_OOO_CONTEXT;
     169
     170    throw (ERRORMORPHEO ("fromString","Unknow string : \""+x+"\""));
     171  };
    144172
    145173 template<> inline std::string toString<morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::rob_state_t>(const morpheo::behavioural::core::multi_ooo_engine::ooo_engine::commit_unit::rob_state_t& x)
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Parameters.cpp

    r117 r138  
    2121#undef  FUNCTION
    2222#define FUNCTION "Commit_unit::Parameters"
    23   Parameters::Parameters (uint32_t            nb_front_end                       ,
    24                           uint32_t          * nb_context                         ,
    25                           uint32_t            nb_rename_unit                     ,
    26                           uint32_t            size_queue                         ,
    27                           uint32_t            nb_bank                            ,
    28                           uint32_t          * nb_inst_insert                     ,
    29                           uint32_t          * nb_inst_retire                     ,
    30                           uint32_t            nb_inst_commit                     ,
    31                           uint32_t            nb_inst_reexecute                  ,
    32                           uint32_t            nb_inst_branch_complete            ,
    33                           uint32_t         ** nb_branch_speculated               ,
    34                           uint32_t            size_nb_inst_decod                 ,
    35                           uint32_t            size_general_data                  ,
    36                           uint32_t            size_store_queue_ptr               ,
    37                           uint32_t            size_load_queue_ptr                ,
    38                           uint32_t            size_general_register              ,
    39                           uint32_t            size_special_register              ,
    40                           Tpriority_t         priority                           ,
    41                           Tload_balancing_t   load_balancing                     ,
    42                           uint32_t            nb_rename_unit_select              ,
    43                           uint32_t            nb_thread                          ,
    44                           uint32_t         ** translate_num_context_to_num_thread,
    45                           bool                is_toplevel):
    46     _nb_bank_access_commit (1              ),
    47     _retire_ooo            (RETIRE_IN_ORDER)
     23  Parameters::Parameters (uint32_t             nb_front_end                       ,
     24                          uint32_t           * nb_context                         ,
     25                          uint32_t             nb_rename_unit                     ,
     26                          uint32_t             size_queue                         ,
     27                          uint32_t             nb_bank                            ,
     28                          Tretire_ooo_scheme_t retire_ooo_scheme                  ,
     29                          uint32_t           * nb_inst_insert                     ,
     30                          uint32_t           * nb_inst_retire                     ,
     31                          uint32_t             nb_inst_commit                     ,
     32                          uint32_t             nb_inst_reexecute                  ,
     33                          uint32_t             nb_inst_branch_complete            ,
     34                          uint32_t          ** nb_branch_speculated               ,
     35                          uint32_t             size_nb_inst_decod                 ,
     36                          uint32_t             size_general_data                  ,
     37                          uint32_t             size_store_queue_ptr               ,
     38                          uint32_t             size_load_queue_ptr                ,
     39                          uint32_t             size_general_register              ,
     40                          uint32_t             size_special_register              ,
     41                          Tpriority_t          priority                           ,
     42                          Tload_balancing_t    load_balancing                     ,
     43                          uint32_t             nb_rename_unit_select              ,
     44                          uint32_t             nb_thread                          ,
     45                          uint32_t          ** translate_num_context_to_num_thread,
     46                          bool                 is_toplevel):
     47    _nb_bank_access_commit (1              )
    4848  {
    4949    log_begin(Commit_unit,FUNCTION);
     
    5454    _size_queue                          = size_queue                         ;
    5555    _nb_bank                             = nb_bank                            ;
     56    _retire_ooo_scheme                   = retire_ooo_scheme                  ;
    5657    _nb_inst_insert                      = nb_inst_insert                     ;
    5758    _nb_inst_retire                      = nb_inst_retire                     ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Parameters_msg_error.cpp

    r122 r138  
    4040      test.error(_("nb_bank must be a multiple of size_queue.\n"));
    4141
     42    if (_retire_ooo_scheme != RETIRE_IN_ORDER)
     43      test.error(toString(_("retire_ooo_scheme \"%s\" is not yet implemented.\n"),toString(_retire_ooo_scheme).c_str()));
     44
    4245//     if (_nb_inst_reexecute != 1)
    4346//       test.error(_("nb_inst_reexecute must be set at 1. Anothers value is unsupported.\n"));
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Parameters_print.cpp

    r88 r138  
    2525    std::string str = "";
    2626   
    27     str += toString(MSG_INFORMATION)+"  * nb_front_end            : "+toString<uint32_t         >(_nb_front_end           )+"\n";
     27    str += toString(MSG_INFORMATION)+"  * nb_front_end            : "+toString<uint32_t            >(_nb_front_end           )+"\n";
    2828    for (uint32_t i=0; i<_nb_front_end; ++i)
    2929    str += toString(MSG_INFORMATION)+"  * nb_context                ["+toString(i)+"] : "+toString<uint32_t         >(_nb_context [i])+"\n";//[nb_front_end]
    30     str += toString(MSG_INFORMATION)+"  * nb_rename_unit          : "+toString<uint32_t         >(_nb_rename_unit         )+"\n";
    31     str += toString(MSG_INFORMATION)+"  * size_queue              : "+toString<uint32_t         >(_size_queue             )+"\n";
    32     str += toString(MSG_INFORMATION)+"  * nb_bank                 : "+toString<uint32_t         >(_nb_bank                )+"\n";
     30    str += toString(MSG_INFORMATION)+"  * nb_rename_unit          : "+toString<uint32_t            >(_nb_rename_unit         )+"\n";
     31    str += toString(MSG_INFORMATION)+"  * size_queue              : "+toString<uint32_t            >(_size_queue             )+"\n";
     32    str += toString(MSG_INFORMATION)+"  * nb_bank                 : "+toString<uint32_t            >(_nb_bank                )+"\n";
    3333    for (uint32_t i=0; i<_nb_rename_unit; ++i)
    3434    str += toString(MSG_INFORMATION)+"  * nb_inst_insert            ["+toString(i)+"] : "+toString<uint32_t         >(_nb_inst_insert[i])+"\n";//[nb_rename_unit]
    3535    for (uint32_t i=0; i<_nb_rename_unit; ++i)
    3636    str += toString(MSG_INFORMATION)+"  * nb_inst_retire            ["+toString(i)+"] : "+toString<uint32_t         >(_nb_inst_retire[i])+"\n";//[nb_rename_unit]
    37     str += toString(MSG_INFORMATION)+"  * nb_inst_commit          : "+toString<uint32_t         >(_nb_inst_commit         )+"\n";
    38     str += toString(MSG_INFORMATION)+"  * nb_inst_reexecute       : "+toString<uint32_t         >(_nb_inst_reexecute      )+"\n";
    39     str += toString(MSG_INFORMATION)+"  * nb_inst_branch_complete : "+toString<uint32_t         >(_nb_inst_branch_complete)+"\n";
     37    str += toString(MSG_INFORMATION)+"  * nb_inst_commit          : "+toString<uint32_t            >(_nb_inst_commit         )+"\n";
     38    str += toString(MSG_INFORMATION)+"  * nb_inst_reexecute       : "+toString<uint32_t            >(_nb_inst_reexecute      )+"\n";
     39    str += toString(MSG_INFORMATION)+"  * nb_inst_branch_complete : "+toString<uint32_t            >(_nb_inst_branch_complete)+"\n";
    4040    for (uint32_t i=0; i<_nb_front_end; ++i)
    4141    for (uint32_t j=0; j<_nb_context[i]; ++j)
    4242    str += toString(MSG_INFORMATION)+"  * nb_branch_speculated      ["+toString(i)+"]["+toString(j)+"] : "+toString<uint32_t         >(_nb_branch_speculated[i][j])+"\n";//[nb_front_end][nb_context]
    43     str += toString(MSG_INFORMATION)+"  * size_general_data       : "+toString<uint32_t         >(_size_general_data      )+"\n";
    44     str += toString(MSG_INFORMATION)+"  * size_store_queue_ptr    : "+toString<uint32_t         >(_size_store_queue_ptr   )+"\n";
    45     str += toString(MSG_INFORMATION)+"  * size_load_queue_ptr     : "+toString<uint32_t         >(_size_load_queue_ptr    )+"\n";
    46     str += toString(MSG_INFORMATION)+"  * size_general_register   : "+toString<uint32_t         >(_size_general_register  )+"\n";
    47     str += toString(MSG_INFORMATION)+"  * size_special_register   : "+toString<uint32_t         >(_size_special_register  )+"\n";
    48     str += toString(MSG_INFORMATION)+"  * priority                : "+toString<Tpriority_t      >(_priority               )+"\n";
    49     str += toString(MSG_INFORMATION)+"  * load_balancing          : "+toString<Tload_balancing_t>(_load_balancing         )+"\n";
    50     str += toString(MSG_INFORMATION)+"  * nb_rename_unit_select   : "+toString<uint32_t         >(_nb_rename_unit_select  )+"\n";
    51     str += toString(MSG_INFORMATION)+"  * nb_bank_access_commit   : "+toString<uint32_t         >(_nb_bank_access_commit  )+"\n";
    52     str += toString(MSG_INFORMATION)+"  * retire_ooo              : "+toString<retire_ooo_t     >(_retire_ooo             )+"\n";
     43    str += toString(MSG_INFORMATION)+"  * size_general_data       : "+toString<uint32_t            >(_size_general_data      )+"\n";
     44    str += toString(MSG_INFORMATION)+"  * size_store_queue_ptr    : "+toString<uint32_t            >(_size_store_queue_ptr   )+"\n";
     45    str += toString(MSG_INFORMATION)+"  * size_load_queue_ptr     : "+toString<uint32_t            >(_size_load_queue_ptr    )+"\n";
     46    str += toString(MSG_INFORMATION)+"  * size_general_register   : "+toString<uint32_t            >(_size_general_register  )+"\n";
     47    str += toString(MSG_INFORMATION)+"  * size_special_register   : "+toString<uint32_t            >(_size_special_register  )+"\n";
     48    str += toString(MSG_INFORMATION)+"  * priority                : "+toString<Tpriority_t         >(_priority               )+"\n";
     49    str += toString(MSG_INFORMATION)+"  * load_balancing          : "+toString<Tload_balancing_t   >(_load_balancing         )+"\n";
     50    str += toString(MSG_INFORMATION)+"  * nb_rename_unit_select   : "+toString<uint32_t            >(_nb_rename_unit_select  )+"\n";
     51    str += toString(MSG_INFORMATION)+"  * nb_bank_access_commit   : "+toString<uint32_t            >(_nb_bank_access_commit  )+"\n";
     52    str += toString(MSG_INFORMATION)+"  * retire_ooo_scheme       : "+toString<Tretire_ooo_scheme_t>(_retire_ooo_scheme      )+"\n";
    5353
    5454    /*
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/include/Issue_queue.h

    r136 r138  
    149149    // in_order implementation only
    150150    // out_of_order implementation only
    151   private   : generic::priority::Priority   * _priority_reg;
     151//private   : generic::priority::Priority   * _priority_reg;
    152152  private   : generic::priority::Priority   * _priority_out;
    153153
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_allocation.cpp

    r136 r138  
    191191                                                     _param->_nb_bank);
    192192
    193     _priority_reg = new generic::priority::Priority (_name+"_priority_reg"  ,
    194                                                      _param->_priority      ,
    195                                                      _param->_nb_bank,
    196                                                      _param->_nb_bank);
     193    // _priority_reg = new generic::priority::Priority (_name+"_priority_reg"  ,
     194    //                                               _param->_priority      ,
     195    //                                               _param->_nb_bank,
     196    //                                               _param->_nb_bank);
    197197      }
    198198
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_deallocation.cpp

    r136 r138  
    136136      {
    137137        delete    _priority_out;
    138         delete    _priority_reg;
     138        // delete    _priority_reg;
    139139      }
    140140    delete    _component;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_function_out_of_order_genMoore.cpp

    r136 r138  
    4545          ack [i][j] = false;
    4646   
    47       std::list<generic::priority::select_t> * select_reg = _priority_reg->select(); // same select for all issue
     47      // std::list<generic::priority::select_t> * select_reg = _priority_reg->select(); // same select for all issue
    4848     
    4949      // issue_in interface
     
    6060         
    6161          // scan all bank
    62           for (std::list<generic::priority::select_t>::iterator it=select_reg->begin();
    63                it!=select_reg->end();
    64                it++)
     62          // for (std::list<generic::priority::select_t>::iterator it=select_reg->begin();
     63          //      it!=select_reg->end();
     64          //      it++)
     65          for (uint32_t num_bank=0;
     66               num_bank<_param->_nb_bank;
     67               ++num_bank)
    6568            {
    66               uint32_t num_bank  = it->grp;
     69              // uint32_t num_bank  = it->grp;
    6770
    6871              log_printf(TRACE,Issue_queue,FUNCTION,"    * BANK [%d]",num_bank);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_function_out_of_order_transition.cpp

    r128 r138  
    2828//      _priority_in ->reset();
    2929        _priority_out->reset();
    30         _priority_reg->reset();
     30//      _priority_reg->reset();
    3131       
    3232        for (uint32_t i=0; i<_param->_nb_bank; i++)
     
    3737//      _priority_in ->transition();
    3838        _priority_out->transition();
    39         _priority_reg->transition();
     39//      _priority_reg->transition();
    4040
    4141        // ===================================================================
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Parameters_msg_error.cpp

    r136 r138  
    4141      }
    4242
    43     if (// (_queue_scheme == ISSUE_QUEUE_SCHEME_IN_BUNDLE_ORDER) or
    44         (_queue_scheme == ISSUE_QUEUE_SCHEME_OUT_OF_ORDER   ))
    45       test.error(toString(_("Can have deadlock with the queue scheme \"%s\".\n"),toString(_queue_scheme).c_str()));
     43    // if (// (_queue_scheme == ISSUE_QUEUE_SCHEME_IN_BUNDLE_ORDER) or
     44    //     (_queue_scheme == ISSUE_QUEUE_SCHEME_OUT_OF_ORDER   ))
     45    //   test.error(toString(_("Can have deadlock with the queue scheme \"%s\".\n"),toString(_queue_scheme).c_str()));
    4646
    4747    if (not is_multiple(_size_queue, _nb_bank))
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Load_Store_pointer_unit/include/Load_Store_pointer_unit.h

    r131 r138  
    134134   morpheo::behavioural::Tusage_t                usage
    135135   );
    136   public  :          ~Load_Store_pointer_unit             (void);
    137                                                
     136  public  :            ~Load_Store_pointer_unit   (void);
     137
    138138  private : void        allocation                (
    139139#ifdef STATISTICS
     
    146146                                               
    147147#ifdef SYSTEMC                                 
    148   public  : void        constant                 (void);
     148  public  : void        constant                  (void);
    149149  public  : void        transition                (void);
    150150  public  : void        genMealy_insert           (void);
    151151  public  : void        genMealy_retire           (void);
    152 #endif                                         
     152#endif
    153153
    154 #if VHDL                                       
     154#if VHDL
    155155  public  : void        vhdl                      (void);
    156156  private : void        vhdl_declaration          (Vhdl * & vhdl);
    157157  private : void        vhdl_body                 (Vhdl * & vhdl);
    158 #endif                                         
     158#endif
    159159
    160160#ifdef STATISTICS
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Load_Store_pointer_unit/src/Load_Store_pointer_unit_genMealy_insert.cpp

    r123 r138  
    5454        log_printf(TRACE,Load_Store_pointer_unit,FUNCTION,"  * INSERT [%d]",i);
    5555
    56         Tcontrol_t ack                   = false;
     56        Tcontrol_t ack  = false;
     57        bool       find = false;
    5758
    58         if ((PORT_READ(in_INSERT_VAL  [i]) == true       ) and
    59             (PORT_READ(in_INSERT_TYPE [i]) == TYPE_MEMORY))
    60           {
    61             log_printf(TRACE,Load_Store_pointer_unit,FUNCTION,"    * type is memory");
    62 
    63             Tcontext_t front_end_id = (_param->_have_port_front_end_id)?PORT_READ(in_INSERT_FRONT_END_ID [i]):0;
    64             Tcontext_t context_id   = (_param->_have_port_context_id  )?PORT_READ(in_INSERT_CONTEXT_ID   [i]):0;
    65             uint32_t   lsq          = _param->_link_load_store_unit_with_thread[front_end_id][context_id];
    66 
     59        if (PORT_READ(in_INSERT_VAL [i]) == true)
     60          {
     61            Tcontext_t front_end_id = (_param->_have_port_front_end_id)?PORT_READ(in_INSERT_FRONT_END_ID [i]):0;
     62            Tcontext_t context_id   = (_param->_have_port_context_id  )?PORT_READ(in_INSERT_CONTEXT_ID   [i]):0;
     63            uint32_t   lsq          = _param->_link_load_store_unit_with_thread[front_end_id][context_id];
     64           
    6765            log_printf(TRACE,Load_Store_pointer_unit,FUNCTION,"    * front_end_id : %d",front_end_id);
    6866            log_printf(TRACE,Load_Store_pointer_unit,FUNCTION,"    * context_id   : %d",context_id  );
    6967            log_printf(TRACE,Load_Store_pointer_unit,FUNCTION,"    * lsq          : %d",lsq         );
     68           
     69            PORT_WRITE(out_INSERT_STORE_QUEUE_PTR_WRITE [i], STORE_QUEUE_PTR_WRITE [lsq]);
     70//          PORT_WRITE(out_INSERT_STORE_QUEUE_PTR_READ  [i], ((reg_STORE_QUEUE_PTR_READ  [front_end_id][context_id]+1)%_param->_size_load_queue[lsq]));
     71            PORT_WRITE(out_INSERT_STORE_QUEUE_PTR_READ  [i], reg_STORE_QUEUE_PTR_READ  [front_end_id][context_id]);
     72            PORT_WRITE(out_INSERT_STORE_QUEUE_EMPTY     [i], reg_STORE_QUEUE_EMPTY     [front_end_id][context_id]);
     73            if (_param->_have_port_load_queue_ptr)
     74            PORT_WRITE(out_INSERT_LOAD_QUEUE_PTR_WRITE  [i], LOAD_QUEUE_PTR_WRITE  [lsq]);
    7075
    71             // Test if a previous instruction use the same lsq
    72             // Authorize once memory access by load store unit
    73             if (nb_use_lsq [lsq] > 0)
    74               {
    75                 nb_use_lsq [lsq] --;
     76            if (PORT_READ(in_INSERT_TYPE [i]) == TYPE_MEMORY)
     77              {
     78                log_printf(TRACE,Load_Store_pointer_unit,FUNCTION,"    * type is memory");
     79               
     80                find = true;
     81               
     82                // Test if a previous instruction use the same lsq
     83                // Authorize once memory access by load store unit
     84                if (nb_use_lsq [lsq] > 0)
     85                  {
     86                    nb_use_lsq [lsq] --;
     87                   
     88                    uint32_t   ptr;
     89                   
     90                    log_printf(TRACE,Load_Store_pointer_unit,FUNCTION,"    * sq_ptr_write : %d",STORE_QUEUE_PTR_WRITE [lsq]);
     91                    log_printf(TRACE,Load_Store_pointer_unit,FUNCTION,"    * lq_ptr_write : %d",LOAD_QUEUE_PTR_WRITE [lsq]);
     92                   
     93                    // operation became of decod_stage. Also operation is != store_head_ok and store_head_ko
     94                    if (is_operation_memory_store(PORT_READ(in_INSERT_OPERATION [i])))
     95                      {
     96                        log_printf(TRACE,Load_Store_pointer_unit,FUNCTION,"    * USE_STORE_QUEUE");
     97                       
     98                        internal_INSERT_OPERATION_USE [i] = OPERATION_USE_STORE_QUEUE;
     99                       
     100                        ptr = STORE_QUEUE_PTR_WRITE [lsq];
     101                        ack = not STORE_QUEUE_USE [lsq][ptr] and (static_cast<uint32_t>(STORE_QUEUE_NB_USE [lsq]+1) < _param->_size_store_queue[lsq]);
     102                       
     103                        if (ack)
     104                          {
     105                            STORE_QUEUE_PTR_WRITE [lsq]      = (ptr+1)%_param->_size_store_queue[lsq];
     106                            STORE_QUEUE_NB_USE    [lsq]      ++;
     107                            STORE_QUEUE_USE       [lsq][ptr] = true;
     108                          }
     109                      }
     110                    else
     111                      {
     112                        log_printf(TRACE,Load_Store_pointer_unit,FUNCTION,"    * USE_LOAD_QUEUE");
     113                       
     114                        internal_INSERT_OPERATION_USE [i] = OPERATION_USE_LOAD_QUEUE;
     115                       
     116                        ptr = LOAD_QUEUE_PTR_WRITE [lsq];
     117                        ack = (not LOAD_QUEUE_USE [lsq][ptr]);
     118                       
     119                        if (ack)
     120                          {
     121                            LOAD_QUEUE_PTR_WRITE [lsq]      = (ptr+1)%_param->_size_load_queue[lsq];
     122                            LOAD_QUEUE_USE       [lsq][ptr] = true;
     123                          }
     124                      }
     125                   
     126                    log_printf(TRACE,Load_Store_pointer_unit,FUNCTION,"    * ptr          : %d",ptr         );
     127                    log_printf(TRACE,Load_Store_pointer_unit,FUNCTION,"    * ack          : %d",ack         );
     128                   
     129                    internal_INSERT_LSQ [i] = lsq;
     130                    internal_INSERT_PTR [i] = ptr;
     131                  }
     132              }
     133          }
    76134
    77                 uint32_t   ptr;
     135        if (not find)
     136          {
     137            ack = true;
     138           
     139            internal_INSERT_OPERATION_USE [i] = OPERATION_USE_NONE;
     140          }
    78141
    79                 PORT_WRITE(out_INSERT_STORE_QUEUE_PTR_WRITE [i],     STORE_QUEUE_PTR_WRITE [lsq]);
    80 //                 PORT_WRITE(out_INSERT_STORE_QUEUE_PTR_READ  [i], ((reg_STORE_QUEUE_PTR_READ  [front_end_id][context_id]+1)%_param->_size_load_queue[lsq]));
    81                 PORT_WRITE(out_INSERT_STORE_QUEUE_PTR_READ  [i], reg_STORE_QUEUE_PTR_READ  [front_end_id][context_id]);
    82                 PORT_WRITE(out_INSERT_STORE_QUEUE_EMPTY     [i], reg_STORE_QUEUE_EMPTY     [front_end_id][context_id]);
    83                 if (_param->_have_port_load_queue_ptr)
    84                 PORT_WRITE(out_INSERT_LOAD_QUEUE_PTR_WRITE  [i], LOAD_QUEUE_PTR_WRITE  [lsq]);
    85 
    86                 log_printf(TRACE,Load_Store_pointer_unit,FUNCTION,"    * sq_ptr_write : %d",STORE_QUEUE_PTR_WRITE [lsq]);
    87                 log_printf(TRACE,Load_Store_pointer_unit,FUNCTION,"    * lq_ptr_write : %d",LOAD_QUEUE_PTR_WRITE [lsq]);
    88                
    89                 // operation became of decod_stage. Also operation is != store_head_ok and store_head_ko
    90                 if (is_operation_memory_store(PORT_READ(in_INSERT_OPERATION [i])))
    91                   {
    92                     log_printf(TRACE,Load_Store_pointer_unit,FUNCTION,"    * USE_STORE_QUEUE");
    93                
    94                     internal_INSERT_OPERATION_USE [i] = OPERATION_USE_STORE_QUEUE;
    95                    
    96                     ptr = STORE_QUEUE_PTR_WRITE [lsq];
    97                     ack = not STORE_QUEUE_USE [lsq][ptr] and (static_cast<uint32_t>(STORE_QUEUE_NB_USE [lsq]+1) < _param->_size_store_queue[lsq]);
    98 
    99                     if (ack)
    100                       {
    101                         STORE_QUEUE_PTR_WRITE [lsq]      = (ptr+1)%_param->_size_store_queue[lsq];
    102                         STORE_QUEUE_NB_USE    [lsq]      ++;
    103                         STORE_QUEUE_USE       [lsq][ptr] = true;
    104                       }
    105                   }
    106                 else
    107                   {
    108                     log_printf(TRACE,Load_Store_pointer_unit,FUNCTION,"    * USE_LOAD_QUEUE");
    109 
    110                     internal_INSERT_OPERATION_USE [i] = OPERATION_USE_LOAD_QUEUE;
    111                    
    112                     ptr = LOAD_QUEUE_PTR_WRITE [lsq];
    113                     ack = (not LOAD_QUEUE_USE [lsq][ptr]);
    114 
    115                     if (ack)
    116                       {
    117                         LOAD_QUEUE_PTR_WRITE [lsq]      = (ptr+1)%_param->_size_load_queue[lsq];
    118                         LOAD_QUEUE_USE       [lsq][ptr] = true;
    119                       }
    120                   }
    121 
    122                 log_printf(TRACE,Load_Store_pointer_unit,FUNCTION,"    * ptr          : %d",ptr         );
    123                 log_printf(TRACE,Load_Store_pointer_unit,FUNCTION,"    * ack          : %d",ack         );
    124                
    125                 internal_INSERT_LSQ [i] = lsq;
    126                 internal_INSERT_PTR [i] = ptr;
    127               }
    128           }
    129         else
    130           {
    131             ack = true;
    132 
    133             internal_INSERT_OPERATION_USE [i] = OPERATION_USE_NONE;
    134           }
    135142
    136143        // Write output
     
    142149        for (uint32_t i=0; i<_param->_nb_inst_insert; i++)
    143150          internal_INSERT_ACK [i] = 0;
    144 
    145151      }
    146152   
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/src/Register_translation_unit_Glue.cpp

    r132 r138  
    186186        // List dependency information
    187187# endif   
    188 
    189 
    190        
    191 #endif
    192188      }
     189#endif
     190
    193191    log_printf(FUNC,Register_translation_unit_Glue,FUNCTION,"End");
    194192  };
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/src/Register_translation_unit.cpp

    r123 r138  
    7171#endif
    7272
    73 #ifdef SYSTEMC
     73#if defined(SYSTEMC) and (defined(STATISTICS) or defined(VHDL_TESTBENCH))
    7474    if (usage_is_set(_usage,USE_SYSTEMC))
    7575      {
     
    8383        // List dependency information
    8484# endif   
    85        
     85      }
    8686#endif
    87       }
    8887    log_printf(FUNC,Register_translation_unit,FUNCTION,"End");
    8988  };
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/src/Rename_unit.cpp

    r123 r138  
    7272#endif
    7373
    74 #ifdef SYSTEMC
     74#if defined(SYSTEMC) and (defined(STATISTICS) or defined(VHDL_TESTBENCH))
    7575    if (usage_is_set(_usage,USE_SYSTEMC))
    7676      {
     
    8484        // List dependency information
    8585# endif   
    86        
     86      }
    8787#endif
    88       }
    8988    log_end(Rename_unit,FUNCTION);
    9089  };
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Special_Register_unit/Makefile.deps

    r88 r138  
    1111
    1212ifndef Behavioural
    13 include                         $(DIR_MORPHEO)/Behavioural/Makefile.deps
     13include                                 $(DIR_MORPHEO)/Behavioural/Makefile.deps
    1414endif
    1515
    1616#-----[ Directory ]----------------------------------------
    1717
    18 Special_Register_unit_DIR                       =       $(DIR_MORPHEO)/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Special_Register_unit
     18Special_Register_unit_DIR               =       $(DIR_MORPHEO)/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Special_Register_unit
    1919
    2020#-----[ Library ]------------------------------------------
    2121
    2222Special_Register_unit_LIBRARY           =       -lSpecial_Register_unit \
    23                                         $(Behavioural_LIBRARY) 
     23                                                $(Behavioural_LIBRARY) 
    2424
    25 Special_Register_unit_DIR_LIBRARY               =       -L$(Special_Register_unit_DIR)/lib      \
    26                                         $(Behavioural_DIR_LIBRARY)
     25Special_Register_unit_DIR_LIBRARY       =       -L$(Special_Register_unit_DIR)/lib      \
     26                                                $(Behavioural_DIR_LIBRARY)
    2727
    2828#-----[ Rules ]--------------------------------------------
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Special_Register_unit/include/SPR.h

    r128 r138  
    449449  public : void   write (Tspr_t x)
    450450    {
     451      // old flag
     452      Tspr_t   old_ov = ov;
     453      Tspr_t   old_cy = cy;
     454      Tspr_t   old_f  = f;
     455     
    451456      cid   = x >> 28;
    452457      sumra = x >> 16;
     
    466471      tee   = x >>  1;
    467472      sm    = x >>  0;
     473
     474      if ((old_ov != ov) or
     475          (old_cy != cy) or
     476          (old_f  != f))
     477        msgWarning(_("Flag OV, CY and F are renamed. You can't modify this flag with the instruction l.mtspr.\n"));
    468478    };
    469479  };
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/include/Parameters.h

    r117 r138  
    5353  public : uint32_t              _size_re_order_buffer             ;
    5454  public : uint32_t              _nb_re_order_buffer_bank          ;
     55  public : commit_unit::Tretire_ooo_scheme_t
     56                                 _retire_ooo_scheme                ;
    5557  public : Tpriority_t           _commit_priority                  ;
    5658  public : Tload_balancing_t     _commit_load_balancing            ;
     
    6668    // Reexecute
    6769  public : uint32_t              _size_reexecute_queue             ;
    68   public : Tpriority_t           _reexecute_priority               ;
    69   public : Tload_balancing_t     _reexecute_load_balancing         ;
    7070    // Rename_unit
    7171  public : Tpriority_t         * _rename_select_priority           ;//[nb_rename_unit]
     
    150150                        uint32_t              size_re_order_buffer             ,
    151151                        uint32_t              nb_re_order_buffer_bank          ,
     152                        commit_unit::Tretire_ooo_scheme_t
     153                                              retire_ooo_scheme                ,
    152154                        Tpriority_t           commit_priority                  ,
    153155                        Tload_balancing_t     commit_load_balancing            ,
     
    163165                        // Reexecute
    164166                        uint32_t              size_reexecute_queue             ,
    165                         Tpriority_t           reexecute_priority               ,
    166                         Tload_balancing_t     reexecute_load_balancing         ,
    167167                        // Rename_unit
    168168                        Tpriority_t         * rename_select_priority           ,//[nb_rename_unit]
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/OOO_Engine.cpp

    r123 r138  
    7171#endif
    7272
    73 #ifdef SYSTEMC
     73#if defined(SYSTEMC) and (defined(STATISTICS) or defined(VHDL_TESTBENCH))
    7474    if (usage_is_set(_usage,USE_SYSTEMC))
    7575      {
     
    8383        // List dependency information
    8484# endif   
    85        
     85      }
    8686#endif
    87       }
    8887    log_end(OOO_Engine,FUNCTION);
    8988  };
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/Parameters.cpp

    r128 r138  
    4040                          uint32_t              size_re_order_buffer             ,
    4141                          uint32_t              nb_re_order_buffer_bank          ,
     42                          commit_unit::Tretire_ooo_scheme_t
     43                                                retire_ooo_scheme                ,
    4244                          Tpriority_t           commit_priority                  ,
    4345                          Tload_balancing_t     commit_load_balancing            ,
     
    5355                          // Reexecute
    5456                          uint32_t              size_reexecute_queue             ,
    55                           Tpriority_t           reexecute_priority               ,
    56                           Tload_balancing_t     reexecute_load_balancing         ,
    5757                          // Rename_unit
    5858                          Tpriority_t         * rename_select_priority           ,//[nb_rename_unit]
     
    100100    _size_re_order_buffer              = size_re_order_buffer             ;
    101101    _nb_re_order_buffer_bank           = nb_re_order_buffer_bank          ;
     102    _retire_ooo_scheme                 = retire_ooo_scheme                ;
    102103    _commit_priority                   = commit_priority                  ;
    103104    _commit_load_balancing             = commit_load_balancing            ;
     
    110111//     _table_issue_type                  = table_issue_type                 ;
    111112    _size_reexecute_queue              = size_reexecute_queue             ;
    112     _reexecute_priority                = reexecute_priority               ;
    113     _reexecute_load_balancing          = reexecute_load_balancing         ;
    114113    _rename_select_priority            = rename_select_priority           ;
    115114    _rename_select_load_balancing      = rename_select_load_balancing     ;
     
    256255       _size_re_order_buffer    ,
    257256       _nb_re_order_buffer_bank ,
     257       _retire_ooo_scheme       ,
    258258       _nb_inst_insert          ,
    259259       _nb_inst_retire          ,
     
    268268        size_general_register   ,
    269269        size_special_register   ,
    270        _commit_priority         ,
    271        _commit_load_balancing   ,
     270       _issue_priority          ,
     271       _issue_load_balancing    ,
    272272       _nb_rename_unit_select   ,
    273273       _nb_thread               ,
     
    312312       _nb_inst_reexecute       ,
    313313       _nb_execute_loop_select  ,
    314        _reexecute_priority      ,
    315        _reexecute_load_balancing,
     314       _commit_priority         ,
     315       _commit_load_balancing   ,
    316316        size_general_register   ,//+_size_rename_id
    317317        size_special_register   ,//+_size_rename_id
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/Parameters_print.cpp

    r117 r138  
    6565//  str+= toString(MSG_INFORMATION)+"   * table_issue_type                   ["+toString(i)+"]["+toString(j)+"] : "+toString<bool             >(_table_issue_type [i][j]          )+"\n";//[nb_inst_issue][nb_type]
    6666    str+= toString(MSG_INFORMATION)+"   * size_reexecute_queue             : "+toString<uint32_t         >(_size_reexecute_queue             )+"\n";
    67     str+= toString(MSG_INFORMATION)+"   * reexecute_priority               : "+toString<Tpriority_t      >(_reexecute_priority               )+"\n";
    68     str+= toString(MSG_INFORMATION)+"   * reexecute_load_balancing         : "+toString<Tload_balancing_t>(_reexecute_load_balancing         )+"\n";
    6967    for (uint32_t i=0; i<_nb_rename_unit; ++i)
    7068    str+= toString(MSG_INFORMATION)+"   * rename_select_priority             ["+toString(i)+"] : "+toString<Tpriority_t      >(_rename_select_priority           [i])+"\n";//[nb_rename_unit]
Note: See TracChangeset for help on using the changeset viewer.