Ignore:
Timestamp:
Jun 26, 2009, 10:43:23 AM (15 years ago)
Author:
rosiere
Message:

1) Correct bug in link two signal
2) Fix error detected with valgrind
3) modif distexe script

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Parameters.cpp

    r122 r128  
    6363    for (uint32_t i=0; i<_nb_thread; i++)
    6464      _have_thread[i] = false;
    65     for (uint32_t i=0; i<_nb_context; i++)
     65    for (uint32_t i=0; i<_nb_thread; i++)
    6666      _have_thread[_translate_num_context_to_num_thread [i]] = true;
    6767
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_deallocation.cpp

    r122 r128  
    172172
    173173#if defined(DEBUG) and defined(DEBUG_Update_Prediction_Table) and (DEBUG_Update_Prediction_Table == true)
    174     for (uint32_t i=0; i<_param->_nb_thread; ++i)
    175       if (_param->_have_thread [i])
    176         {
    177           branchement_log_file [i].close();
    178         }
     174    {
     175      for (uint32_t i=0; i<_param->_nb_thread; ++i)
     176        if (_param->_have_thread [i])
     177          {
     178            branchement_log_file [i].close();
     179          }
     180      delete [] branchement_log_file;
     181    }
    179182#endif
    180183
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_statistics_deallocation.cpp

    r97 r128  
    2929    delete    _stat;
    3030
    31     DELETE2(_stat_nb_branch_hit            ,_param->_nb_context,MAX_BRANCH_CONDITION);
    32     DELETE2(_stat_nb_branch_miss           ,_param->_nb_context,MAX_BRANCH_CONDITION);
    33     DELETE1(_stat_nb_branch_unused         ,_param->_nb_context);
    34     DELETE1(_stat_ufpt_queue_nb_elt        ,_param->_nb_context);
    35     DELETE1(_stat_upt_queue_nb_elt         ,_param->_nb_context);
     31    DELETE2(_stat_nb_branch_hit              ,_param->_nb_context,MAX_BRANCH_CONDITION);
     32    DELETE2(_stat_nb_branch_miss             ,_param->_nb_context,MAX_BRANCH_CONDITION);
     33    DELETE1(_stat_nb_branch_unused           ,_param->_nb_context);
     34
     35    DELETE1(_stat_nb_branch_ifetch_prediction,_param->_nb_context);
     36    DELETE1(_stat_nb_branch_accurate         ,_param->_nb_context);
     37
     38    DELETE1(_stat_ufpt_queue_nb_elt          ,_param->_nb_context);
     39    DELETE1(_stat_upt_queue_nb_elt           ,_param->_nb_context);
    3640   
    3741    log_printf(FUNC,Update_Prediction_Table,FUNCTION,"End");
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_transition.cpp

    r124 r128  
    3434          {
    3535            for (uint32_t j=0; j<_param->_size_ufpt_queue[i]; ++j)
    36               reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._state = UPDATE_FETCH_PREDICTION_STATE_EMPTY;
     36              {
     37            reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._state            = UPDATE_FETCH_PREDICTION_STATE_EMPTY;
     38            reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._condition        = 0; // not necessary
     39            reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._address_src      = 0; // not necessary
     40            reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._address_dest     = 0; // not necessary
     41            reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._last_take        = 0; // not necessary
     42            reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._is_accurate      = 0; // not necessary
     43            reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._history          = 0; // not necessary
     44            reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._address_ras      = 0; // not necessary
     45            reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._index_ras        = 0; // not necessary
     46              }
    3747            reg_UFPT_BOTTOM          [i] = 0;
    3848            reg_UFPT_TOP             [i] = 0;
     
    4252                                                               
    4353            for (uint32_t j=0; j<_param->_size_upt_queue[i]; ++j)
    44               reg_UPDATE_PREDICTION_TABLE [i][j]._state = UPDATE_PREDICTION_STATE_EMPTY;
     54              {
     55            reg_UPDATE_PREDICTION_TABLE [i][j]._state            = UPDATE_PREDICTION_STATE_EMPTY;
     56            reg_UPDATE_PREDICTION_TABLE [i][j]._condition        = 0; // not necessary
     57            reg_UPDATE_PREDICTION_TABLE [i][j]._address_src      = 0; // not necessary
     58            reg_UPDATE_PREDICTION_TABLE [i][j]._address_dest     = 0; // not necessary
     59            reg_UPDATE_PREDICTION_TABLE [i][j]._last_take        = 0; // not necessary
     60            reg_UPDATE_PREDICTION_TABLE [i][j]._good_take        = 0; // not necessary
     61            reg_UPDATE_PREDICTION_TABLE [i][j]._is_accurate      = 0; // not necessary
     62            reg_UPDATE_PREDICTION_TABLE [i][j]._history          = 0; // not necessary
     63            reg_UPDATE_PREDICTION_TABLE [i][j]._address_ras      = 0; // not necessary
     64            reg_UPDATE_PREDICTION_TABLE [i][j]._index_ras        = 0; // not necessary
     65            reg_UPDATE_PREDICTION_TABLE [i][j]._ifetch_prediction= 0; // not necessary
     66            reg_UPDATE_PREDICTION_TABLE [i][j]._miss_commit      = 0; // not necessary
     67            reg_UPDATE_PREDICTION_TABLE [i][j]._retire_ok        = 0; // not necessary
     68            reg_UPDATE_PREDICTION_TABLE [i][j]._miss_prediction  = 0; // not necessary
     69              }
    4570            reg_UPT_BOTTOM           [i] = 0;
    4671            reg_UPT_TOP              [i] = 0;
     
    5479            reg_UPT_EVENT_STATE      [i] = UPT_EVENT_STATE_OK;
    5580
    56 //             reg_EVENT_VAL            [i] = false;
    57 //             reg_EVENT_STATE          [i] = EVENT_STATE_OK;
    58 //             reg_EVENT_IS_BRANCH      [i] = true;
     81            reg_EVENT_UPT_PTR          [i] = 0; // not necessary
     82            reg_EVENT_UPT_FULL         [i] = 0; // not necessary
     83
     84//          reg_EVENT_STATE            [i] = EVENT_STATE_OK; // not necessary
     85//          reg_EVENT_IS_BRANCH        [i] = true          ; // not necessary
     86
     87            reg_EVENT_DEPTH            [i] = 0; // not necessary
     88            reg_EVENT_ADDRESS_SRC      [i] = 0; // not necessary
     89            reg_EVENT_ADDRESS_DEST_VAL [i] = 0; // not necessary
     90            reg_EVENT_ADDRESS_DEST     [i] = 0; // not necessary
     91            reg_EVENT_CAN_CONTINUE     [i] = 0; // not necessary
     92
    5993          }
    6094      }
Note: See TracChangeset for help on using the changeset viewer.