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)
Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/include
Files:
2 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/include/Parameters.h

    r88 r139  
    1111#include "Common/include/Debug.h"
    1212#include "Behavioural/include/Parameters.h"
     13#include "Behavioural/include/Types.h"
    1314
    1415namespace morpheo {
     
    2526  {
    2627    //-----[ fields ]------------------------------------------------------------
    27   public : uint32_t   _nb_front_end          ;
    28   public : uint32_t * _nb_context            ;//[nb_front_end]
    29   public : uint32_t   _nb_general_register   ;
    30   public : uint32_t   _nb_special_register   ;
    31   public : uint32_t   _nb_inst_insert        ;
    32   public : uint32_t   _nb_inst_retire        ;   
    33                      
    34 //public : uint32_t   _size_front_end_id     ;
    35 //public : uint32_t   _size_context_id       ;
    36 //public : uint32_t   _size_general_register ;
    37 //public : uint32_t   _size_special_register ;
    38 //                   
    39 //public : uint32_t   _have_port_context_id  ;
    40 //public : uint32_t   _have_port_front_end_id;
     28  public : uint32_t         _nb_front_end          ;
     29  public : uint32_t       * _nb_context            ;//[nb_front_end]
     30  public : uint32_t         _nb_general_register   ;
     31  public : uint32_t         _nb_special_register   ;
     32  public : Trat_scheme_t    _rat_scheme            ;
     33  public : uint32_t         _nb_inst_insert        ;
     34  public : uint32_t         _nb_inst_retire        ;   
     35  public : uint32_t      ** _nb_branch_speculated  ;//[nb_front_end][nb_context]
     36   
     37  public : uint32_t         _max_nb_context        ;
     38//public : uint32_t         _size_front_end_id     ;
     39//public : uint32_t         _size_context_id       ;
     40//public : uint32_t         _size_general_register ;
     41//public : uint32_t         _size_special_register ;
     42//                         
     43//public : uint32_t         _have_port_context_id  ;
     44//public : uint32_t         _have_port_front_end_id;
    4145
    4246    //-----[ methods ]-----------------------------------------------------------
    43   public : Parameters  (uint32_t   nb_front_end       ,
    44                         uint32_t * nb_context         ,
    45                         uint32_t   nb_general_register,
    46                         uint32_t   nb_special_register,
    47                         uint32_t   nb_inst_insert     ,
    48                         uint32_t   nb_inst_retire     ,
    49                         bool       is_toplevel=false
     47  public : Parameters  (uint32_t         nb_front_end        ,
     48                        uint32_t       * nb_context          ,//[nb_front_end]
     49                        uint32_t         nb_general_register ,
     50                        uint32_t         nb_special_register ,
     51                        Trat_scheme_t    rat_scheme          ,
     52                        uint32_t         nb_inst_insert      ,
     53                        uint32_t         nb_inst_retire      ,
     54                        uint32_t      ** nb_branch_speculated,//[nb_front_end][nb_context]
     55                        bool             is_toplevel=false
    5056                        );
    5157//   public : Parameters  (Parameters & param) ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/include/Register_Address_Translation_unit.h

    r131 r139  
    6868  public    : SC_IN (Tcontext_t        )   **  in_RENAME_FRONT_END_ID      ;//[nb_inst_insert]
    6969  public    : SC_IN (Tcontext_t        )   **  in_RENAME_CONTEXT_ID        ;//[nb_inst_insert]
     70  public    : SC_IN (Tdepth_t          )   **  in_RENAME_DEPTH             ;//[nb_inst_insert]
     71  public    : SC_IN (Tcontrol_t        )   **  in_RENAME_SAVE_RAT          ;//[nb_inst_insert]
    7072  public    : SC_IN (Tgeneral_address_t)   **  in_RENAME_NUM_REG_RA_LOG    ;//[nb_inst_insert]
    7173  public    : SC_IN (Tgeneral_address_t)   **  in_RENAME_NUM_REG_RB_LOG    ;//[nb_inst_insert]
     
    102104  public    : SC_IN (Tgeneral_address_t)   **  in_RETIRE_NUM_REG_RD_PHY_NEW;//[nb_inst_retire]
    103105  public    : SC_IN (Tspecial_address_t)   **  in_RETIRE_NUM_REG_RE_PHY_NEW;//[nb_inst_retire]
    104   public    : SC_OUT(Tcontrol_t        )   ** out_RETIRE_RESTORE_RD_PHY_OLD;//[nb_inst_retire]
    105   public    : SC_OUT(Tcontrol_t        )   ** out_RETIRE_RESTORE_RE_PHY_OLD;//[nb_inst_retire]
    106   public    : SC_OUT(Tcontrol_t        )   ** out_RETIRE_RESTORE           ;//[nb_inst_retire]
     106  public    : SC_IN (Tcontrol_t        )   **  in_RETIRE_RESTORE           ;//[nb_inst_retire]
    107107
    108108    // ~~~~~[ Interface "retire_event" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     
    110110  public    : SC_OUT(Tcontrol_t        )  *** out_RETIRE_EVENT_ACK            ;//[nb_front_end][nb_context]
    111111  public    : SC_IN (Tevent_state_t    )  ***  in_RETIRE_EVENT_STATE          ;//[nb_front_end][nb_context]
     112  public    : SC_IN (Tevent_type_t     )  ***  in_RETIRE_EVENT_TYPE           ;//[nb_front_end][nb_context]
     113  public    : SC_IN (Tdepth_t          )  ***  in_RETIRE_EVENT_DEPTH          ;//[nb_front_end][nb_context]
    112114
    113115    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
    114116
    115117    // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
    116   private   : Tgeneral_address_t          *** rat_gpr_not_speculative;      //[nb_front_end][nb_context][nb_general_register_logic]
    117   private   : Tgeneral_address_t          *** rat_gpr_speculative;          //[nb_front_end][nb_context][nb_general_register_logic]
    118   private   : bool                        *** rat_gpr_speculative_valid;    //[nb_front_end][nb_context][nb_general_register_logic]
    119   private   : bool                        *** rat_gpr_update_table;         //[nb_front_end][nb_context][nb_general_register_logic]
    120 
    121   private   : Tspecial_address_t          *** rat_spr_not_speculative;      //[nb_front_end][nb_context][nb_special_register_logic]
    122   private   : Tspecial_address_t          *** rat_spr_speculative;          //[nb_front_end][nb_context][nb_special_register_logic]
    123   private   : bool                        *** rat_spr_speculative_valid;    //[nb_front_end][nb_context][nb_special_register_logic]
    124   private   : bool                        *** rat_spr_update_table;         //[nb_front_end][nb_context][nb_special_register_logic]
     118  private   : Tgeneral_address_t          *** rat_gpr_not_speculative;      //[nb_front_end][nb_context]                      [nb_general_register_logic]
     119  private   : Tgeneral_address_t          *** rat_gpr_speculative;          //[nb_front_end][nb_context]                      [nb_general_register_logic]
     120  private   : bool                        *** rat_gpr_speculative_valid;    //[nb_front_end][nb_context]                      [nb_general_register_logic]
     121  private   : Tgeneral_address_t         **** rat_gpr_save;                 //[nb_front_end][nb_context][nb_branch_speculated][nb_general_register_logic]
     122
     123  private   : Tspecial_address_t          *** rat_spr_not_speculative;      //[nb_front_end][nb_context]                      [nb_special_register_logic]
     124  private   : Tspecial_address_t          *** rat_spr_speculative;          //[nb_front_end][nb_context]                      [nb_special_register_logic]
     125  private   : bool                        *** rat_spr_speculative_valid;    //[nb_front_end][nb_context]                      [nb_special_register_logic]
     126  private   : Tspecial_address_t         **** rat_spr_save;                 //[nb_front_end][nb_context][nb_branch_speculated][nb_special_register_logic]
     127
     128  private   : Tdepth_t                     ** rat_depth;                    //[nb_front_end][nb_context]
    125129
    126130    // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    127131  private   : Tcontrol_t                    * internal_RENAME_ACK;          //[nb_inst_insert]
     132  private   : Tcontrol_t                    * internal_RENAME_SAVE;         //[nb_inst_insert]
    128133  private   : Tcontrol_t                    * internal_INSERT_ACK;          //[nb_inst_insert]
    129134  private   : Tcontrol_t                    * internal_RETIRE_ACK;          //[nb_inst_retire]
    130135  private   : Tcontrol_t                   ** internal_RETIRE_EVENT_ACK    ;//[nb_front_end][nb_context]
    131136
    132   private   : bool                        *** internal_rat_gpr_update_table;//[nb_front_end][nb_context][nb_general_register_logic]
    133   private   : bool                        *** internal_rat_spr_update_table;//[nb_front_end][nb_context][nb_special_register_logic]
    134 
    135   private   : Tcontrol_t                    * internal_RETIRE_RESTORE           ;//[nb_inst_retire]
    136   private   : Tcontrol_t                    * internal_RETIRE_RESTORE_RD_PHY_OLD;//[nb_inst_retire]
    137   private   : Tcontrol_t                    * internal_RETIRE_RESTORE_RE_PHY_OLD;//[nb_inst_retire]
    138 
     137    // function pointer
     138  public    : void (morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_address_translation_unit::Register_Address_Translation_unit::*function_constant       ) (void);
     139  public    : void (morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_address_translation_unit::Register_Address_Translation_unit::*function_transition     ) (void);
     140  public    : void (morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_address_translation_unit::Register_Address_Translation_unit::*function_genMealy_rename) (void);
    139141#endif
    140142
     
    169171                                               
    170172#ifdef SYSTEMC                                 
    171   public  : void        constant                  (void);
    172   public  : void        transition                (void);
    173   public  : void        genMealy_rename           (void);
    174   public  : void        genMealy_retire           (void);
     173  public  : void        constant                            (void);
     174  public  : void        transition                          (void);
     175  public  : void        genMealy_rename                     (void);
     176
     177  // public  : void        function_no_save_constant           (void);
     178  // public  : void        function_no_save_transition         (void);
     179  // public  : void        function_no_save_genMealy_rename    (void);
     180
     181  public  : void        function_one_save_constant          (void);
     182  public  : void        function_one_save_transition        (void);
     183  public  : void        function_one_save_genMealy_rename   (void);
     184
     185  public  : void        function_depth_save_constant        (void);
     186  public  : void        function_depth_save_transition      (void);
     187  public  : void        function_depth_save_genMealy_rename (void);
    175188#endif                                         
    176189
Note: See TracChangeset for help on using the changeset viewer.