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

Almost complete design
with Test and test platform

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/include
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/include/Parameters.h

    r82 r88  
    3636  public : uint32_t   _size_counter          ;
    3737
    38   public : uint32_t   _size_general_register ;
    39   public : uint32_t   _size_special_register ;
     38//public : uint32_t   _size_general_register ;
     39//public : uint32_t   _size_special_register ;
    4040                     
    4141  public : uint32_t   _max_reader            ;
     
    6363                        uint32_t   nb_reg_free           ,
    6464                        uint32_t   nb_bank               ,
    65                         uint32_t   size_counter          );
     65                        uint32_t   size_counter          ,
     66                        bool       is_toplevel=false
     67                        );
    6668
    6769//   public : Parameters  (Parameters & param) ;
    6870  public : ~Parameters () ;
     71
     72  public :        void            copy       (void);
    6973
    7074  public :        Parameters_test msg_error  (void);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/include/Stat_List_unit.h

    r82 r88  
    1 #ifndef morpheo_behavioural_core_multi_ooo_engine_ooo_engine_rename_unit_register_translation_unit_stat_list_unit_Stat_List_unit_h
     1 #ifndef morpheo_behavioural_core_multi_ooo_engine_ooo_engine_rename_unit_register_translation_unit_stat_list_unit_Stat_List_unit_h
    22#define morpheo_behavioural_core_multi_ooo_engine_ooo_engine_rename_unit_register_translation_unit_stat_list_unit_Stat_List_unit_h
    33
     
    8686  public    : SC_IN (Tspecial_address_t)   **  in_RETIRE_NUM_REG_RC_PHY    ;//[nb_inst_retire]
    8787  public    : SC_IN (Tcontrol_t        )   **  in_RETIRE_WRITE_RD          ;//[nb_inst_retire]
     88  public    : SC_IN (Tcontrol_t        )   **  in_RETIRE_RESTORE_RD_PHY_OLD;//[nb_inst_retire]
    8889  public    : SC_IN (Tgeneral_address_t)   **  in_RETIRE_NUM_REG_RD_PHY_OLD;//[nb_inst_retire]
    8990  public    : SC_IN (Tgeneral_address_t)   **  in_RETIRE_NUM_REG_RD_PHY_NEW;//[nb_inst_retire]
    9091  public    : SC_IN (Tcontrol_t        )   **  in_RETIRE_WRITE_RE          ;//[nb_inst_retire]
     92  public    : SC_IN (Tcontrol_t        )   **  in_RETIRE_RESTORE_RE_PHY_OLD;//[nb_inst_retire]
    9193  public    : SC_IN (Tspecial_address_t)   **  in_RETIRE_NUM_REG_RE_PHY_OLD;//[nb_inst_retire]
    9294  public    : SC_IN (Tspecial_address_t)   **  in_RETIRE_NUM_REG_RE_PHY_NEW;//[nb_inst_retire]
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/include/Types.h

    r81 r88  
    2323  class stat_list_entry_t
    2424  {
    25   private : bool     _is_free ; // set = is present in free list
    26   private : bool     _is_link ; // set = is present in rat
    27   private : bool     _is_valid; // set = an instruction have write in this register
    28   private : uint32_t _counter ; // number of register that must read this register
     25  public : bool     _is_free ; // set = is present in free list
     26  public : bool     _is_link ; // set = is present in rat
     27  public : bool     _is_valid; // set = an instruction have write in this register
     28  public : uint32_t _counter ; // number of register that must read this register
    2929
    3030  public :  stat_list_entry_t (void) {};
     
    5555    }
    5656
    57   public : void retire_write_old (void)
     57  public : void retire_write_old (bool restore_old)
    5858    {
    59       _is_link  = 0;
     59      if (not restore_old)
     60        {
     61          _is_link  = 0;
     62        }
     63      // else nothing
    6064    }
    6165
    62   public : void retire_write_new (void)
     66  public : void retire_write_new (bool restore_old)
    6367    {
     68      if (restore_old)
     69        {
     70          _is_link  = 0;
     71        }
     72
     73      // in all case
    6474      _is_valid = 1;
    6575    }
     
    7989      return ((_is_free  == 0) and
    8090              (_is_link  == 0) and
    81               (_is_valid == 1) and
     91//            (_is_valid == 1) and // if is_link <- 0, then retire_write_old or reset
    8292              (_counter  == 0));
    8393    }
    8494
    85   public : friend std::ostream& operator<< (std::ostream& output_stream,
     95  public : friend std::ostream& operator<< (std::ostream& output,
    8696                                            stat_list_entry_t & x)
    8797    {
    88       output_stream << x._is_free  << " "
    89                     << x._is_link  << " "
    90                     << x._is_valid << " "
    91                     << x._counter;
     98      output << x._is_free  << " "
     99             << x._is_link  << " "
     100             << x._is_valid << " "
     101             << x._counter;
    92102     
    93       return output_stream;
     103      return output;
    94104    }
    95105
Note: See TracChangeset for help on using the changeset viewer.