Ignore:
Timestamp:
Jun 8, 2009, 10:43:30 PM (15 years ago)
Author:
rosiere
Message:

1) Fix performance
2) add auto generation to SPECINT2000
3) add reset in genMoore and genMealy

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Direction_Glue/src
Files:
3 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

    r112 r123  
    4040
    4141
    42 #if DEBUG_Direction_Glue == true
    43     log_printf(INFO,Direction_Glue,FUNCTION,_("<%s> Parameters"),_name.c_str());
    44 
    45     std::cout << *param << std::endl;
    46 #endif   
     42// #if DEBUG_Direction_Glue == true
     43//     log_printf(INFO,Direction_Glue,FUNCTION,_("<%s> Parameters"),_name.c_str());
     44
     45//     std::cout << *param << std::endl;
     46// #endif   
    4747
    4848    log_printf(INFO,Direction_Glue,FUNCTION,"Allocation");
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Direction_Glue/src/Direction_Glue_genMealy_predict.cpp

    r107 r123  
    2626    log_function(Direction_Glue,FUNCTION,_name.c_str());
    2727
     28    if (PORT_READ(in_NRESET))
     29      {
     30//         std::cout << "Kane (before) " << std::endl;
     31//         std::cout << _param << std::endl;
     32//         std::cout << _param->_nb_inst_update << std::endl;
     33//         std::cout << _param->_nb_inst_predict<< std::endl;
     34//         std::cout << "Kane (end) " << std::endl;
     35
     36
    2837    // constant direction : never / always
    2938    for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
     
    3140        log_printf(TRACE,Direction_Glue,FUNCTION,"  * PREDICT [%d]",i);
    3241
    33         Tcontrol_t direction;
     42        Tcontrol_t direction = false;
    3443
    3544        switch (_param->_predictor_scheme)
     
    8695        PORT_WRITE(out_PREDICT_DIRECTION   [i], direction);
    8796      }
     97      }
     98    else
     99      {
     100        //RESET
     101        for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
     102          {
     103            if (_param->_have_component_meta_predictor)
     104              {
     105            PORT_WRITE(out_PREDICT_PREDICTOR_VAL [i], 0);
     106            PORT_WRITE(out_PREDICT_ACK           [i], 0);
     107              }
     108          }
     109      }
    88110
    89111    log_end(Direction_Glue,FUNCTION);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Direction_Glue/src/Direction_Glue_genMealy_update.cpp

    r112 r123  
    2626    log_function(Direction_Glue,FUNCTION,_name.c_str());
    2727
     28    if (PORT_READ(in_NRESET))
     29      {
    2830    for (uint32_t i=0; i<_param->_nb_inst_update; i++)
    2931      {
     
    3537        PORT_WRITE(out_UPDATE_PREDICTOR_PREDICTION_IFETCH [i], PORT_READ(in_UPDATE_PREDICTION_IFETCH [i]));
    3638      }
    37    
     39      }
     40    else
     41      {
     42        // RESET
     43        for (uint32_t i=0; i<_param->_nb_inst_update; i++)
     44          {
     45            PORT_WRITE(out_UPDATE_PREDICTOR_VAL [i], 0);
     46            PORT_WRITE(out_UPDATE_ACK           [i], 0);
     47          }
     48      }
     49
    3850    log_end(Direction_Glue,FUNCTION);
    3951  };
Note: See TracChangeset for help on using the changeset viewer.