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

Almost complete design
with Test and test platform

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_transition.cpp

    r81 r88  
    2323  void Stat_List_unit::transition (void)
    2424  {
    25     log_printf(FUNC,Stat_List_unit,FUNCTION,"Begin");
     25    log_begin(Stat_List_unit,FUNCTION);
     26    log_function(Stat_List_unit,FUNCTION,_name.c_str());
    2627
    2728    if (PORT_READ(in_NRESET) == 0)
     
    121122              if (PORT_READ(in_RETIRE_WRITE_RD [i]))
    122123                {
     124                  Tcontrol_t restore_old = PORT_READ(in_RETIRE_RESTORE_RD_PHY_OLD [i]);
    123125                  {
    124126                    Tgeneral_address_t num_reg = PORT_READ(in_RETIRE_NUM_REG_RD_PHY_OLD [i]);
    125127                    uint32_t bank = num_reg >> _param->_shift_gpr;
    126128                    uint32_t reg  = num_reg  & _param->_mask_gpr ;
    127                     gpr_stat_list [bank][reg].retire_write_old();
     129                    gpr_stat_list [bank][reg].retire_write_old(restore_old);
    128130                  }
    129131                  {
     
    131133                    uint32_t bank = num_reg >> _param->_shift_gpr;
    132134                    uint32_t reg  = num_reg  & _param->_mask_gpr ;
    133                     gpr_stat_list [bank][reg].retire_write_new();
     135                    gpr_stat_list [bank][reg].retire_write_new(restore_old);
    134136                  }
    135137                }
     
    137139              if (PORT_READ(in_RETIRE_WRITE_RE [i]))
    138140                {
     141                  Tcontrol_t restore_old = PORT_READ(in_RETIRE_RESTORE_RE_PHY_OLD [i]);
    139142                  {
    140143                    Tgeneral_address_t num_reg = PORT_READ(in_RETIRE_NUM_REG_RE_PHY_OLD [i]);
    141144                    uint32_t bank = num_reg >> _param->_shift_spr;
    142145                    uint32_t reg  = num_reg  & _param->_mask_spr ;
    143                     spr_stat_list [bank][reg].retire_write_old();
     146                    spr_stat_list [bank][reg].retire_write_old(restore_old);
    144147                  }
    145148                  {
     
    147150                    uint32_t bank = num_reg >> _param->_shift_spr;
    148151                    uint32_t reg  = num_reg  & _param->_mask_spr ;
    149                     spr_stat_list [bank][reg].retire_write_new();
     152                    spr_stat_list [bank][reg].retire_write_new(restore_old);
    150153                  }
    151154                }
     
    171174        internal_SPR_PTR_FREE = ((internal_SPR_PTR_FREE==0)?_param->_nb_special_register_by_bank:internal_SPR_PTR_FREE)-1;
    172175      }
    173    
    174 //     log_printf(TRACE,Stat_List_unit,FUNCTION,"Print gpr_stat_list :");
    175 //     for (uint32_t i=0; i<_param->_nb_bank; i++)
    176 //       {
    177 //      log_printf(TRACE,Stat_List_unit,FUNCTION," * Bank : %d",i);
    178 //      for (uint32_t j=0; j<_param->_nb_general_register_by_bank; j++)
    179 //        {
    180 //          std::ostringstream str;
    181 //          str << gpr_stat_list [i][j];
    182 //          log_printf(TRACE,Stat_List_unit,FUNCTION,"   [%d] %s",j,str.str().c_str());
    183 
    184 //        }
    185 //       }
    186 //     log_printf(TRACE,Stat_List_unit,FUNCTION,"Print spr_stat_list :");
    187 //     for (uint32_t i=0; i<_param->_nb_bank; i++)
    188 //       {
    189 //      log_printf(TRACE,Stat_List_unit,FUNCTION," * Bank : %d",i);
    190 //      for (uint32_t j=0; j<_param->_nb_special_register_by_bank; j++)
    191 //        {
    192 //          std::ostringstream str;
    193 //          str << spr_stat_list [i][j];
    194 //          log_printf(TRACE,Stat_List_unit,FUNCTION,"   [%d] %s",j,str.str().c_str());
    195 //        }
    196 //       }
     176
     177
     178#if (DEBUG >= DEBUG_TRACE)
     179    log_printf(TRACE,Stat_List_unit,FUNCTION,"  * Dump Stat List");
     180    for (uint32_t i=0; i<_param->_nb_bank; i++)
     181      for (uint32_t j=0; j<_param->_nb_general_register_by_bank; j++)
     182        log_printf(TRACE,Stat_List_unit,FUNCTION,"    * GPR[%.4d][%.5d] (%.5d) - free %.1d, link %.1d, valid %.1d, counter %.4d",
     183                   i,
     184                   j,
     185                   (i<<_param->_shift_gpr)|j,
     186                   gpr_stat_list[i][j]._is_free,
     187                   gpr_stat_list[i][j]._is_link,
     188                   gpr_stat_list[i][j]._is_valid,
     189                   gpr_stat_list[i][j]._counter);
     190    for (uint32_t i=0; i<_param->_nb_bank; i++)
     191      for (uint32_t j=0; j<_param->_nb_special_register_by_bank; j++)
     192        log_printf(TRACE,Stat_List_unit,FUNCTION,"    * SPR[%.4d][%.5d] (%.5d) - free %.1d, link %.1d, valid %.1d, counter %.4d",
     193                   i,
     194                   j,
     195                   (i<<_param->_shift_spr)|j,
     196                   spr_stat_list[i][j]._is_free,
     197                   spr_stat_list[i][j]._is_link,
     198                   spr_stat_list[i][j]._is_valid,
     199                   spr_stat_list[i][j]._counter);
     200#endif
    197201
    198202#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
     
    200204#endif
    201205
    202     log_printf(FUNC,Stat_List_unit,FUNCTION,"End");
     206    log_end(Stat_List_unit,FUNCTION);
    203207  };
    204208
Note: See TracChangeset for help on using the changeset viewer.