Ignore:
Timestamp:
Mar 18, 2009, 11:36:26 PM (15 years ago)
Author:
rosiere
Message:

1) Stat_list : fix retire old and new register bug
2) Stat_list : remove read_counter and valid flag, because validation of destination is in retire step (not in commit step)
3) Model : add class Model (cf Morpheo.sim)
4) Allocation : alloc_interface_begin and alloc_interface_end to delete temporary array.
5) Script : add distexe.sh
6) Add Comparator, Multiplier, Divider. But this component are not implemented
7) Software : add Dhrystone

File:
1 edited

Legend:

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

    r111 r112  
    5858    // ~~~~~[ Interface : "predict" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    5959    {
    60       ALLOC1_INTERFACE("predict",IN,WEST,_("Predict direction interface"),_param->_nb_inst_predict);
     60      ALLOC1_INTERFACE_BEGIN("predict",IN,WEST,_("Predict direction interface"),_param->_nb_inst_predict);
    6161
    6262      ALLOC1_VALACK_IN ( in_PREDICT_VAL          ,VAL);
     
    6565      ALLOC1_SIGNAL_OUT(out_PREDICT_DIRECTION    ,"DIRECTION"    ,Tcontrol_t,1                    );
    6666      ALLOC1_SIGNAL_OUT(out_PREDICT_HISTORY      ,"HISTORY"      ,Thistory_t,_param->_size_history);
     67
     68      ALLOC1_INTERFACE_END(_param->_nb_inst_predict);
    6769    }
    6870
    6971    // ~~~~~[ Interface : "update" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    7072    {
    71       ALLOC1_INTERFACE("update",IN,WEST,_("Update direction interface"),_param->_nb_inst_update);
     73      ALLOC1_INTERFACE_BEGIN("update",IN,WEST,_("Update direction interface"),_param->_nb_inst_update);
    7274
    7375      ALLOC1_VALACK_IN ( in_UPDATE_VAL           ,VAL);
     
    7577      ALLOC1_SIGNAL_IN ( in_UPDATE_ADDRESS       ,"ADDRESS"      ,Taddress_t,_param->_size_address);
    7678      ALLOC1_SIGNAL_IN ( in_UPDATE_HISTORY       ,"HISTORY"      ,Thistory_t,_param->_size_history);
     79      ALLOC1_SIGNAL_IN ( in_UPDATE_HISTORY_VAL   ,"HISTORY_VAL"  ,Tcontrol_t,1                    );
    7780      ALLOC1_SIGNAL_IN ( in_UPDATE_DIRECTION     ,"DIRECTION"    ,Tcontrol_t,1                    );
     81
     82      ALLOC1_INTERFACE_END(_param->_nb_inst_update);
    7883    }
    7984   
     
    218223          COMPONENT_MAP(_component,src , "in_UPDATE_"                          +toString(j)+"_HISTORY"      ,
    219224                                   dest,"out_UPDATE_PREDICTOR_"+toString(i)+"_"+toString(j)+"_HISTORY"      );
     225          COMPONENT_MAP(_component,src , "in_UPDATE_"                          +toString(j)+"_HISTORY_VAL"  ,
     226                                   dest,"out_UPDATE_PREDICTOR_"+toString(i)+"_"+toString(j)+"_HISTORY_VAL"  );
    220227          if (_param->_predictor_update_on_prediction [i])
    221228          COMPONENT_MAP(_component,src , "in_UPDATE_"                          +toString(j)+"_MISS"         ,
     
    286293#endif
    287294
    288           PORT_MAP(_component,src , "in_UPDATE_"+toString(i)+"_VAL"      ,
    289                               dest, "in_UPDATE_"+toString(i)+"_VAL"      );
    290           PORT_MAP(_component,src ,"out_UPDATE_"+toString(i)+"_ACK"      ,
    291                               dest,"out_UPDATE_"+toString(i)+"_ACK"      );
    292           PORT_MAP(_component,src , "in_UPDATE_"+toString(i)+"_HISTORY"  ,
    293                               dest, "in_UPDATE_"+toString(i)+"_HISTORY"  );
    294           PORT_MAP(_component,src , "in_UPDATE_"+toString(i)+"_DIRECTION",
    295                               dest, "in_UPDATE_"+toString(i)+"_DIRECTION");
    296         }
    297      
    298       //  out_UPDATE_PREDICTOR_VAL       -> two_level_branch_predictor. in_UPDATE_PREDICTOR_VAL     
    299       //   in_UPDATE_PREDICTOR_ACK       -> two_level_branch_predictor.out_UPDATE_PREDICTOR_ACK     
    300       //  out_UPDATE_PREDICTOR_HISTORY   -> two_level_branch_predictor. in_UPDATE_PREDICTOR_HISTORY 
    301       //  out_UPDATE_PREDICTOR_DIRECTION -> two_level_branch_predictor. in_UPDATE_PREDICTOR_DIRECTION
    302       //  out_UPDATE_PREDICTOR_MISS      -> two_level_branch_predictor. in_UPDATE_PREDICTOR_MISS     
     295          PORT_MAP(_component,src , "in_UPDATE_"+toString(i)+"_VAL"        ,
     296                              dest, "in_UPDATE_"+toString(i)+"_VAL"        );
     297          PORT_MAP(_component,src ,"out_UPDATE_"+toString(i)+"_ACK"        ,
     298                              dest,"out_UPDATE_"+toString(i)+"_ACK"        );
     299          PORT_MAP(_component,src , "in_UPDATE_"+toString(i)+"_HISTORY"    ,
     300                              dest, "in_UPDATE_"+toString(i)+"_HISTORY"    );
     301          PORT_MAP(_component,src , "in_UPDATE_"+toString(i)+"_HISTORY_VAL",
     302                              dest, "in_UPDATE_"+toString(i)+"_HISTORY_VAL");
     303          PORT_MAP(_component,src , "in_UPDATE_"+toString(i)+"_DIRECTION"  ,
     304                              dest, "in_UPDATE_"+toString(i)+"_DIRECTION"  );
     305        }
     306     
     307      //  out_UPDATE_PREDICTOR_VAL        -> two_level_branch_predictor. in_UPDATE_PREDICTOR_VAL     
     308      //   in_UPDATE_PREDICTOR_ACK        -> two_level_branch_predictor.out_UPDATE_PREDICTOR_ACK     
     309      //  out_UPDATE_PREDICTOR_HISTORY    -> two_level_branch_predictor. in_UPDATE_PREDICTOR_HISTORY 
     310      //  out_UPDATE_PREDICTOR_HISTORY_VAL-> two_level_branch_predictor. in_UPDATE_PREDICTOR_HISTORY 
     311      //  out_UPDATE_PREDICTOR_DIRECTION  -> two_level_branch_predictor. in_UPDATE_PREDICTOR_DIRECTION
     312      //  out_UPDATE_PREDICTOR_MISS       -> two_level_branch_predictor. in_UPDATE_PREDICTOR_MISS     
    303313
    304314    }
Note: See TracChangeset for help on using the changeset viewer.