Ignore:
Timestamp:
May 25, 2009, 7:40:26 PM (15 years ago)
Author:
rosiere
Message:

1) Prediction unit : static prediction not blocking

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/src/Front_end_Glue_genMealy_event.cpp

    r97 r119  
    4949        PORT_WRITE(out_EVENT_PREDICTION_UNIT_DEPTH [i],depth);
    5050          }
     51        Tcontrol_t    flush_only = PORT_READ(in_EVENT_CONTEXT_STATE_FLUSH_ONLY [i]);
    5152       
    5253
     
    5657        Tcontrol_t context_state_val   = PORT_READ(in_EVENT_CONTEXT_STATE_VAL   [i]);
    5758
    58         Tcontrol_t val                 = (//ack                 and
     59        Tcontrol_t val                 = (  not flush_only      and
     60                                          //ack                 and
    5961                                            ifetch_unit_ack     and
    6062                                            prediction_unit_ack and
    61                                             context_state_val   
     63                                            context_state_val
     64                                         
    6265                                          );
    63         Tcontrol_t ifetch_unit_val     = (  ack                 and
     66//         Tcontrol_t ifetch_unit_val     = (  ack                 and
     67//                                           //ifetch_unit_ack     and
     68//                                             prediction_unit_ack and
     69//                                             context_state_val   
     70//                                             );
     71        Tcontrol_t ifetch_unit_val     = (  (
     72                                             flush_only or
     73                                             ack              ) and
    6474                                          //ifetch_unit_ack     and
    6575                                            prediction_unit_ack and
    66                                             context_state_val   
     76                                            context_state_val
    6777                                            );
    68         Tcontrol_t prediction_unit_val = (  ack                 and
     78
     79//         Tcontrol_t prediction_unit_val = (  ack                 and
     80//                                             ifetch_unit_ack     and
     81//                                           //prediction_unit_ack and
     82//                                             context_state_val   
     83//                                             );
     84
     85        Tcontrol_t prediction_unit_val = (  (
     86                                             flush_only or
     87                                             ack              ) and
    6988                                            ifetch_unit_ack     and
    7089                                          //prediction_unit_ack and
    71                                             context_state_val   
     90                                            context_state_val
    7291                                            );
     92
     93
    7394        Tcontrol_t context_state_ack   = (  ack                 and
    7495                                            ifetch_unit_ack     and
     
    97118            log_printf(TRACE,Front_end_Glue,FUNCTION,"    * address_next_val : %d",address_next_val);
    98119            log_printf(TRACE,Front_end_Glue,FUNCTION,"    * is_ds_take       : %d",is_ds_take      );
     120            log_printf(TRACE,Front_end_Glue,FUNCTION,"    * flush_only       : %d",flush_only      );
    99121          }
    100122        else
Note: See TracChangeset for help on using the changeset viewer.