Ignore:
Timestamp:
Dec 10, 2008, 7:31:39 PM (16 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/Free_List_unit/src/Free_List_unit_transition.cpp

    r81 r88  
    2323  void Free_List_unit::transition (void)
    2424  {
    25     log_printf(FUNC,Free_List_unit,FUNCTION,"Begin");
     25    log_begin(Free_List_unit,FUNCTION);
     26    log_function(Free_List_unit,FUNCTION,_name.c_str());
    2627
    2728    if (PORT_READ(in_NRESET) == 0)
     
    3940        // =====[ POP ]======================================
    4041        // ==================================================
    41 //      log_printf(TRACE,Free_List_unit,FUNCTION,"Test transaction POP");
    4242        for (uint32_t i=0; i<_param->_nb_pop; i++)
    4343          if (PORT_READ(in_POP_VAL[i]) and internal_POP_ACK [i])
    4444            {
     45              log_printf(TRACE,Free_List_unit,FUNCTION,"  * POP [%d]",i);
     46
    4547              if (PORT_READ(in_POP_GPR_VAL [i]))
    4648                _gpr_list [internal_POP_GPR_BANK[i]].pop_front();
     
    5355        // =====[ PUSH_GPR ]=================================
    5456        // ==================================================
    55 //      log_printf(TRACE,Free_List_unit,FUNCTION,"Test transaction PUSH_GPR");
    5657        for (uint32_t i=0; i<_param->_nb_push; i++)
    5758          if (PORT_READ(in_PUSH_GPR_VAL[i]) and internal_PUSH_GPR_ACK [i])
    58             _gpr_list [internal_PUSH_GPR_BANK[i]].push_back(//_param->_mask_gpr &
    59                                                             PORT_READ(in_PUSH_GPR_NUM_REG [i]));
     59            {
     60              log_printf(TRACE,Free_List_unit,FUNCTION,"  * PUSH_GPR[%d]",i);
    6061
     62              _gpr_list [internal_PUSH_GPR_BANK[i]].push_back(//_param->_mask_gpr &
     63                                                              PORT_READ(in_PUSH_GPR_NUM_REG [i]));
     64            }
    6165        // ==================================================
    6266        // =====[ PUSH_SPR ]=================================
    6367        // ==================================================
    64 //      log_printf(TRACE,Free_List_unit,FUNCTION,"Test transaction PUSH_SPR");
    6568        for (uint32_t i=0; i<_param->_nb_push; i++)
    6669          if (PORT_READ(in_PUSH_SPR_VAL[i]) and internal_PUSH_SPR_ACK [i])
    67             _spr_list [internal_PUSH_SPR_BANK[i]].push_back(//_param->_mask_spr &
    68                                                             PORT_READ(in_PUSH_SPR_NUM_REG [i]));
     70            {
     71              log_printf(TRACE,Free_List_unit,FUNCTION,"  * PUSH_SPR[%d]",i);
     72
     73              _spr_list [internal_PUSH_SPR_BANK[i]].push_back(//_param->_mask_spr &
     74                                                              PORT_READ(in_PUSH_SPR_NUM_REG [i]));
     75            }
    6976
    7077        if (_param->_priority == PRIORITY_ROUND_ROBIN)
    7178          internal_BANK_PRIORITY = (internal_BANK_PRIORITY+1)%_param->_nb_bank_by_pop;
     79
     80#if (DEBUG >= DEBUG_TRACE) and (DEBUG_Free_List_unit == true)
     81        log_printf(TRACE,Free_List_unit,FUNCTION,"  * Dump Free List");
     82
     83        for (uint32_t i=0; i<_param->_nb_bank; ++i)
     84          {
     85            uint32_t j=0;
     86            for (std::list<Tgeneral_address_t>::iterator it=_gpr_list->begin();
     87                 it!=_gpr_list->end();
     88                 ++it)
     89              {
     90                log_printf(TRACE,Free_List_unit,FUNCTION,"    * GPR_LIST[%.5d][%.5d] : %.5d",i,j,*it);
     91                ++j;
     92              }
     93          }
     94        for (uint32_t i=0; i<_param->_nb_bank; ++i)
     95          {
     96            uint32_t j=0;
     97            for (std::list<Tspecial_address_t>::iterator it=_spr_list->begin();
     98                 it!=_spr_list->end();
     99                 ++it)
     100              {
     101                log_printf(TRACE,Free_List_unit,FUNCTION,"    * SPR_LIST[%.5d][%.5d] : %.5d",i,j,*it);
     102                ++j;
     103              }
     104          }
     105
     106#endif
    72107      }
    73108
     
    76111#endif
    77112
    78     log_printf(FUNC,Free_List_unit,FUNCTION,"End");
     113    log_end(Free_List_unit,FUNCTION);
    79114  };
    80115
Note: See TracChangeset for help on using the changeset viewer.