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/Stat_List_unit/src/Stat_List_unit_allocation.cpp

    r88 r112  
    4949                                                         ,IN
    5050                                                         ,SOUTH,
    51                                                          "Generalist interface"
     51                                                         _("Generalist interface")
    5252#endif
    5353                                                         );
     
    5858     // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    5959     {
    60        ALLOC1_INTERFACE("insert",IN,SOUTH,"Insert a renaming result",_param->_nb_inst_insert);
     60       ALLOC1_INTERFACE_BEGIN("insert",IN,SOUTH,_("Insert a renaming result"),_param->_nb_inst_insert);
    6161
    6262       ALLOC1_VALACK_IN ( in_INSERT_VAL               ,VAL);
     
    7272       ALLOC1_SIGNAL_IN ( in_INSERT_WRITE_RE          ,"write_re"          ,Tcontrol_t        ,1                             );
    7373       ALLOC1_SIGNAL_IN ( in_INSERT_NUM_REG_RE_PHY_NEW,"num_reg_re_phy_new",Tspecial_address_t,_param->_size_special_register);
     74
     75       ALLOC1_INTERFACE_END(_param->_nb_inst_insert);
    7476     }
    7577
    7678     // ~~~~~[ Interface "retire" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    7779     {
    78        ALLOC1_INTERFACE("retire",IN,NORTH,"Retire a renaming result",_param->_nb_inst_retire);
     80       ALLOC1_INTERFACE_BEGIN("retire",IN,NORTH,_("Retire a renaming result"),_param->_nb_inst_retire);
    7981
    8082       ALLOC1_VALACK_IN ( in_RETIRE_VAL               ,VAL);
    8183       ALLOC1_VALACK_OUT(out_RETIRE_ACK               ,ACK);
     84       ALLOC1_SIGNAL_IN ( in_RETIRE_RESTORE           ,"restore"           ,Tcontrol_t        ,1                             );
    8285       ALLOC1_SIGNAL_IN ( in_RETIRE_READ_RA           ,"read_ra"           ,Tcontrol_t        ,1                             );
    8386       ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RA_PHY    ,"num_reg_ra_phy"    ,Tgeneral_address_t,_param->_size_general_register);
     
    9497       ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RE_PHY_OLD,"num_reg_re_phy_old",Tspecial_address_t,_param->_size_special_register);
    9598       ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RE_PHY_NEW,"num_reg_re_phy_new",Tspecial_address_t,_param->_size_special_register);
     99
     100       ALLOC1_INTERFACE_END(_param->_nb_inst_retire);
    96101     }
    97102
    98103     // ~~~~~[ interface : "push_gpr" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    99104     {
    100        ALLOC1_INTERFACE("push_gpr",OUT,SOUTH,"Free a general register",_param->_nb_reg_free);
     105       ALLOC1_INTERFACE_BEGIN("push_gpr",OUT,SOUTH,_("Free a general register"),_param->_nb_reg_free);
    101106
    102107       ALLOC1_VALACK_OUT(out_PUSH_GPR_VAL    ,VAL);
    103108       ALLOC1_VALACK_IN ( in_PUSH_GPR_ACK    ,ACK);
    104109       ALLOC1_SIGNAL_OUT(out_PUSH_GPR_NUM_REG,"num_reg",Tgeneral_address_t,_param->_size_general_register);
     110
     111       ALLOC1_INTERFACE_END(_param->_nb_reg_free);
    105112     }
    106113
    107114     // ~~~~~[ interface : "push_spr" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    108115     {
    109        ALLOC1_INTERFACE("push_spr",OUT,SOUTH,"Free a special register",_param->_nb_reg_free);
     116       ALLOC1_INTERFACE_BEGIN("push_spr",OUT,SOUTH,_("Free a special register"),_param->_nb_reg_free);
    110117
    111118       ALLOC1_VALACK_OUT(out_PUSH_SPR_VAL    ,VAL);
    112119       ALLOC1_VALACK_IN ( in_PUSH_SPR_ACK    ,ACK);
    113120       ALLOC1_SIGNAL_OUT(out_PUSH_SPR_NUM_REG,"num_reg",Tspecial_address_t,_param->_size_special_register);
     121
     122       ALLOC1_INTERFACE_END(_param->_nb_reg_free);
    114123     }
    115124
     
    117126    if (usage_is_set(_usage,USE_SYSTEMC))
    118127      {
    119      gpr_stat_list = new stat_list_entry_t * [_param->_nb_bank];
    120      spr_stat_list = new stat_list_entry_t * [_param->_nb_bank];
    121 
    122      for (uint32_t i=0; i<_param->_nb_bank; i++)
    123        {
    124          gpr_stat_list [i] = new stat_list_entry_t [_param->_nb_general_register_by_bank];
    125          spr_stat_list [i] = new stat_list_entry_t [_param->_nb_special_register_by_bank];
    126        }       
    127 
    128      internal_INSERT_ACK        = new Tcontrol_t [_param->_nb_inst_insert];
    129      internal_RETIRE_ACK        = new Tcontrol_t [_param->_nb_inst_retire];
    130      internal_PUSH_GPR_VAL      = new Tcontrol_t [_param->_nb_reg_free];
    131      internal_PUSH_GPR_NUM_BANK = new uint32_t   [_param->_nb_reg_free];
    132      internal_PUSH_SPR_VAL      = new Tcontrol_t [_param->_nb_reg_free];
    133      internal_PUSH_SPR_NUM_BANK = new uint32_t   [_param->_nb_reg_free];
     128     ALLOC2(gpr_stat_list,stat_list_entry_t,_param->_nb_bank,_param->_nb_general_register_by_bank);
     129     ALLOC2(spr_stat_list,stat_list_entry_t,_param->_nb_bank,_param->_nb_special_register_by_bank);
     130     ALLOC1(internal_INSERT_ACK       ,Tcontrol_t,_param->_nb_inst_insert);
     131     ALLOC1(internal_RETIRE_ACK       ,Tcontrol_t,_param->_nb_inst_retire);
     132     ALLOC1(internal_PUSH_GPR_VAL     ,Tcontrol_t,_param->_nb_reg_free);
     133     ALLOC1(internal_PUSH_GPR_NUM_BANK,uint32_t  ,_param->_nb_reg_free);
     134     ALLOC1(internal_PUSH_SPR_VAL     ,Tcontrol_t,_param->_nb_reg_free);
     135     ALLOC1(internal_PUSH_SPR_NUM_BANK,uint32_t  ,_param->_nb_reg_free);
    134136      }
    135137
Note: See TracChangeset for help on using the changeset viewer.