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/Prediction_unit_Glue/src/Prediction_unit_Glue_genMealy_decod.cpp

    r98 r107  
    5050    uint32_t port = 0;
    5151    for (uint32_t i=0; i<_param->_nb_inst_decod[decod_unit]; i++)
     52      {
     53        log_printf(TRACE,Prediction_unit_Glue,FUNCTION,"  * DECOD [%d][%d]",decod_unit,i);
     54        log_printf(TRACE,Prediction_unit_Glue,FUNCTION,"    * val  : %d",PORT_READ(in_DECOD_VAL [decod_unit][i]));
     55        log_printf(TRACE,Prediction_unit_Glue,FUNCTION,"    * port : %d",port);
     56
    5257      // Test if decod_unit have detected a branch
    5358      if ((port>=_param->_nb_inst_branch_decod) or
    5459          (PORT_READ(in_DECOD_VAL [decod_unit][i]) == 0))
    5560        {
    56           log_printf(TRACE,Prediction_unit_Glue,FUNCTION,"  * DECOD[%d][%d] : not valid",decod_unit,i);
     61          log_printf(TRACE,Prediction_unit_Glue,FUNCTION,"  * DECOD [%d][%d]          : not valid",decod_unit,i);
    5762          ack [i] = false;
    5863        }
     
    7479          Tcontrol_t        miss_decod            = (branch_state == BRANCH_STATE_NONE);
    7580
    76           log_printf(TRACE,Prediction_unit_Glue,FUNCTION,"  * DECOD[%d][%d] :    valid",decod_unit,i);
     81          log_printf(TRACE,Prediction_unit_Glue,FUNCTION,"  * DECOD [%d][%d]          : valid",decod_unit,i);
    7782          log_printf(TRACE,Prediction_unit_Glue,FUNCTION,"    * branch_state          : %d",branch_state);
    7883          log_printf(TRACE,Prediction_unit_Glue,FUNCTION,"    * match_inst_ifetch_ptr : %d",match_inst_ifetch_ptr);
     
    246251          PORT_WRITE(out_DECOD_UPT_UPDATE_PREDICTION_ID [port],depth);
    247252         
    248           port ++;
     253          port ++; // have find port
    249254        }
     255      }
    250256   
    251257    // Write output
    252 
    253258    for (uint32_t i=0; i<_param->_nb_inst_branch_decod; i++)
    254259      {
Note: See TracChangeset for help on using the changeset viewer.