Ignore:
Timestamp:
Mar 18, 2009, 11:36:26 PM (15 years ago)
Author:
rosiere
Message:

1) Stat_list : fix retire old and new register bug
2) Stat_list : remove read_counter and valid flag, because validation of destination is in retire step (not in commit step)
3) Model : add class Model (cf Morpheo.sim)
4) Allocation : alloc_interface_begin and alloc_interface_end to delete temporary array.
5) Script : add distexe.sh
6) Add Comparator, Multiplier, Divider. But this component are not implemented
7) Software : add Dhrystone

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/Register_Address_Translation_unit_allocation.cpp

    r104 r112  
    5959    // ~~~~~[ Interface "rename" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    6060    {
    61       ALLOC1_INTERFACE("rename",IN,EAST,"Input to rename source logical register", _param->_nb_inst_insert);
     61      ALLOC1_INTERFACE_BEGIN("rename",IN,EAST,_("Input to rename source logical register"), _param->_nb_inst_insert);
    6262
    6363      ALLOC1_VALACK_IN ( in_RENAME_VAL               , VAL);
     
    7575      ALLOC1_SIGNAL_OUT(out_RENAME_NUM_REG_RD_PHY_OLD,"num_reg_rd_phy_old",Tgeneral_address_t,_param->_size_general_register);
    7676      ALLOC1_SIGNAL_OUT(out_RENAME_NUM_REG_RE_PHY_OLD,"num_reg_re_phy_old",Tspecial_address_t,_param->_size_special_register);
     77
     78      ALLOC1_INTERFACE_END(_param->_nb_inst_insert);
    7779    }
    7880   
    7981    // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    8082    {
    81       ALLOC1_INTERFACE("insert",IN,NORTH,"Input to rename destination logical register", _param->_nb_inst_insert);
     83      ALLOC1_INTERFACE_BEGIN("insert",IN,NORTH,_("Input to rename destination logical register"), _param->_nb_inst_insert);
    8284     
    8385      ALLOC1_VALACK_IN ( in_INSERT_VAL           ,VAL);
     
    9193      ALLOC1_SIGNAL_IN ( in_INSERT_NUM_REG_RD_PHY,"num_reg_rd_phy",Tgeneral_address_t,_param->_size_general_register);
    9294      ALLOC1_SIGNAL_IN ( in_INSERT_NUM_REG_RE_PHY,"num_reg_re_phy",Tspecial_address_t,_param->_size_special_register);
     95
     96      ALLOC1_INTERFACE_END(_param->_nb_inst_insert);
    9397    }
    9498   
    9599    // ~~~~~[ Interface "retire" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    96100    {
    97       ALLOC1_INTERFACE("retire",IN,NORTH,"Input to update on event", _param->_nb_inst_retire);
     101      ALLOC1_INTERFACE_BEGIN("retire",IN,NORTH,_("Input to update on event"), _param->_nb_inst_retire);
    98102
    99103      ALLOC1_VALACK_IN ( in_RETIRE_VAL               ,VAL);
     
    109113      ALLOC1_SIGNAL_OUT(out_RETIRE_RESTORE_RD_PHY_OLD,"restore_rd_phy_old",Tcontrol_t        ,1);
    110114      ALLOC1_SIGNAL_OUT(out_RETIRE_RESTORE_RE_PHY_OLD,"restore_re_phy_old",Tcontrol_t        ,1);
     115      ALLOC1_SIGNAL_OUT(out_RETIRE_RESTORE           ,"restore"           ,Tcontrol_t        ,1);
     116
     117      ALLOC1_INTERFACE_END(_param->_nb_inst_retire);
    111118    }
    112119
    113120    // ~~~~~[ Interface : "retire_event" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    114121    {
    115       ALLOC2_INTERFACE("retire_event", IN,NORTH, _("Retire event"), _param->_nb_front_end, _param->_nb_context[it1]);
     122      ALLOC2_INTERFACE_BEGIN("retire_event", IN,NORTH, _("Retire event"), _param->_nb_front_end, _param->_nb_context[it1]);
    116123
    117124      _ALLOC2_VALACK_IN ( in_RETIRE_EVENT_VAL        ,VAL,_param->_nb_front_end, _param->_nb_context[it1]);
    118125      _ALLOC2_VALACK_OUT(out_RETIRE_EVENT_ACK        ,ACK,_param->_nb_front_end, _param->_nb_context[it1]);
    119126      _ALLOC2_SIGNAL_IN ( in_RETIRE_EVENT_STATE      ,"state"             ,Tevent_state_t    ,_param->_size_event_state, _param->_nb_front_end, _param->_nb_context[it1]);
     127
     128      ALLOC2_INTERFACE_END(_param->_nb_front_end, _param->_nb_context[it1]);
    120129    }
    121130
     
    127136    ALLOC2(internal_RETIRE_EVENT_ACK ,Tcontrol_t,_param->_nb_front_end,_param->_nb_context[it1]);
    128137
    129     rat_gpr                       = new Tgeneral_address_t ** [_param->_nb_front_end];
    130     rat_spr                       = new Tspecial_address_t ** [_param->_nb_front_end];
    131     rat_gpr_update_table          = new bool               ** [_param->_nb_front_end];
    132     rat_spr_update_table          = new bool               ** [_param->_nb_front_end];
    133     internal_rat_gpr_update_table = new bool               ** [_param->_nb_front_end];
    134     internal_rat_spr_update_table = new bool               ** [_param->_nb_front_end];
     138    ALLOC3(rat_gpr                      ,Tgeneral_address_t,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_general_register_logic);
     139    ALLOC3(rat_spr                      ,Tspecial_address_t,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic);
     140    ALLOC3(rat_gpr_update_table         ,bool              ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_general_register_logic);
     141    ALLOC3(rat_spr_update_table         ,bool              ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic);
     142    ALLOC3(internal_rat_gpr_update_table,bool              ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_general_register_logic);
     143    ALLOC3(internal_rat_spr_update_table,bool              ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic);
    135144
    136     for (uint32_t i=0; i<_param->_nb_front_end; i++)
    137       {
    138         rat_gpr                       [i] = new Tgeneral_address_t * [_param->_nb_context[i]];
    139         rat_spr                       [i] = new Tspecial_address_t * [_param->_nb_context[i]];
    140         rat_gpr_update_table          [i] = new bool               * [_param->_nb_context[i]];
    141         rat_spr_update_table          [i] = new bool               * [_param->_nb_context[i]];
    142         internal_rat_gpr_update_table [i] = new bool               * [_param->_nb_context[i]];
    143         internal_rat_spr_update_table [i] = new bool               * [_param->_nb_context[i]];
    144 
    145         for (uint32_t j=0; j<_param->_nb_context[i]; j++)
    146           {
    147             rat_gpr                       [i][j] = new Tgeneral_address_t [_param->_nb_general_register_logic];
    148             rat_spr                       [i][j] = new Tspecial_address_t [_param->_nb_special_register_logic];
    149             rat_gpr_update_table          [i][j] = new bool               [_param->_nb_general_register_logic];
    150             rat_spr_update_table          [i][j] = new bool               [_param->_nb_special_register_logic];
    151             internal_rat_gpr_update_table [i][j] = new bool               [_param->_nb_general_register_logic];
    152             internal_rat_spr_update_table [i][j] = new bool               [_param->_nb_special_register_logic];
    153           }
    154       }
     145    ALLOC1(internal_RETIRE_RESTORE_RD_PHY_OLD,Tcontrol_t,_param->_nb_inst_retire);
     146    ALLOC1(internal_RETIRE_RESTORE_RE_PHY_OLD,Tcontrol_t,_param->_nb_inst_retire);
    155147      }
    156148
Note: See TracChangeset for help on using the changeset viewer.