Ignore:
Timestamp:
Feb 11, 2009, 12:03:25 AM (15 years ago)
Author:
rosiere
Message:

1) Fix test in Direction_Glue for Conditionnal Branch
2) Fix Instruction Address Compute

File:
1 edited

Legend:

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

    r88 r107  
    9292                PORT_WRITE(out_PREDICT_ACK [i], 1);
    9393               
    94                 // constant direction : never / always
     94                // constant direction : never / always
    9595                switch (_param->_predictor_scheme)
    9696                  {
     
    166166
    167167#  ifdef SYSTEMCASS_SPECIFIC
    168             // List dependency information
    169             for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
    170               {
    171 
    172                 switch (_param->_predictor_scheme)
    173                   {
    174                   case PREDICTOR_STATIC      :
    175                     {
    176                       (*(out_PREDICT_DIRECTION             [i])) (*(in_PREDICT_STATIC               [i]));
    177 
    178                       break;
    179                     }
    180                   case PREDICTOR_LAST_TAKE   :
    181                     {
    182                       (*(out_PREDICT_DIRECTION             [i])) (*(in_PREDICT_LAST_TAKE            [i]));
    183 
    184                       break;
    185                     }
    186                   case PREDICTOR_COUNTER     :
    187                   case PREDICTOR_LOCAL       :
    188                   case PREDICTOR_GLOBAL      :
    189                   case PREDICTOR_META        :
    190                   case PREDICTOR_CUSTOM      :
    191                     {
    192                       (*(out_PREDICT_ACK                   [i])) (*(in_PREDICT_PREDICTOR_ACK        [i]));
    193                       (*(out_PREDICT_HISTORY               [i])) (*(in_PREDICT_PREDICTOR_HISTORY    [i]));
    194                       (*(out_PREDICT_DIRECTION             [i])) (*(in_PREDICT_PREDICTOR_DIRECTION  [i]));
    195                       (*(out_PREDICT_PREDICTOR_VAL         [i])) (*(in_PREDICT_VAL                  [i]));
    196                       (*(out_PREDICT_PREDICTOR_ADDRESS_SRC [i])) (*(in_PREDICT_ADDRESS_SRC          [i]));
    197 
    198                       break;
    199                     }
    200                   default :
    201                     {
    202                       break;
    203                     }
    204                   }
    205               }
     168//          // List dependency information
     169//          for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
     170//            {
     171
     172//              switch (_param->_predictor_scheme)
     173//                {
     174//                case PREDICTOR_STATIC      :
     175//                  {
     176//                    (*(out_PREDICT_DIRECTION             [i])) (*(in_PREDICT_STATIC               [i]));
     177
     178//                    break;
     179//                  }
     180//                case PREDICTOR_LAST_TAKE   :
     181//                  {
     182//                    (*(out_PREDICT_DIRECTION             [i])) (*(in_PREDICT_LAST_TAKE            [i]));
     183
     184//                    break;
     185//                  }
     186//                case PREDICTOR_COUNTER     :
     187//                case PREDICTOR_LOCAL       :
     188//                case PREDICTOR_GLOBAL      :
     189//                case PREDICTOR_META        :
     190//                case PREDICTOR_CUSTOM      :
     191//                  {
     192//                    (*(out_PREDICT_ACK                   [i])) (*(in_PREDICT_PREDICTOR_ACK        [i]));
     193//                    (*(out_PREDICT_HISTORY               [i])) (*(in_PREDICT_PREDICTOR_HISTORY    [i]));
     194//                    (*(out_PREDICT_DIRECTION             [i])) (*(in_PREDICT_PREDICTOR_DIRECTION  [i]));
     195//                    (*(out_PREDICT_PREDICTOR_VAL         [i])) (*(in_PREDICT_VAL                  [i]));
     196//                    (*(out_PREDICT_PREDICTOR_ADDRESS_SRC [i])) (*(in_PREDICT_ADDRESS_SRC          [i]));
     197
     198//                    break;
     199//                  }
     200//                default :
     201//                  {
     202//                    break;
     203//                  }
     204//                }
     205//            }
    206206#  endif   
    207207          }
     
    222222
    223223#  ifdef SYSTEMCASS_SPECIFIC
    224             // List dependency information
    225             for (uint32_t i=0; i<_param->_nb_inst_update; i++)
    226               {
    227                 (*(out_UPDATE_PREDICTOR_VAL       [i])) (*(in_UPDATE_VAL           [i]));
    228                 (*(out_UPDATE_ACK                 [i])) (*(in_UPDATE_PREDICTOR_ACK [i]));
    229                 (*(out_UPDATE_PREDICTOR_ADDRESS   [i])) (*(in_UPDATE_ADDRESS       [i]));
    230                 (*(out_UPDATE_PREDICTOR_HISTORY   [i])) (*(in_UPDATE_HISTORY       [i]));
    231                 (*(out_UPDATE_PREDICTOR_DIRECTION [i])) (*(in_UPDATE_DIRECTION     [i]));
    232               }
     224//          // List dependency information
     225//          for (uint32_t i=0; i<_param->_nb_inst_update; i++)
     226//            {
     227//              (*(out_UPDATE_PREDICTOR_VAL       [i])) (*(in_UPDATE_VAL           [i]));
     228//              (*(out_UPDATE_ACK                 [i])) (*(in_UPDATE_PREDICTOR_ACK [i]));
     229//              (*(out_UPDATE_PREDICTOR_ADDRESS   [i])) (*(in_UPDATE_ADDRESS       [i]));
     230//              (*(out_UPDATE_PREDICTOR_HISTORY   [i])) (*(in_UPDATE_HISTORY       [i]));
     231//              (*(out_UPDATE_PREDICTOR_DIRECTION [i])) (*(in_UPDATE_DIRECTION     [i]));
     232//            }
    233233#  endif   
    234234          }
Note: See TracChangeset for help on using the changeset viewer.