Ignore:
Timestamp:
Feb 12, 2009, 12:55:06 PM (15 years ago)
Author:
rosiere
Message:

1) decod_queue : add reg_LAST_SLOT.
2) Commit : insert on event -> to pop decod_queue. Head test : add information (speculative or not)
3) Context State / UPT : Branch miss and Load miss in same cycle.
4) Free List : Bank is on LSB not MSB.
5) Platforms : move data

File:
1 edited

Legend:

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

    r105 r108  
    9797      ALLOC1_SIGNAL_OUT (out_DECOD_NO_EXECUTE                 ,"NO_EXECUTE"       ,Tcontrol_t           ,1                                   );
    9898      ALLOC1_SIGNAL_OUT (out_DECOD_IS_DELAY_SLOT              ,"IS_DELAY_SLOT"    ,Tcontrol_t           ,1                                   );
     99#ifdef DEBUG
     100      ALLOC1_SIGNAL_OUT (out_DECOD_ADDRESS                    ,"ADDRESS"          ,Tgeneral_data_t      ,_param->_size_instruction_address   );
     101#endif
    99102      ALLOC1_SIGNAL_OUT (out_DECOD_ADDRESS_NEXT               ,"ADDRESS_NEXT"     ,Tgeneral_data_t      ,_param->_size_instruction_address   );
    100103      ALLOC1_SIGNAL_OUT (out_DECOD_HAS_IMMEDIAT               ,"HAS_IMMEDIAT"     ,Tcontrol_t           ,1                                   );
     
    175178      ALLOC1_SIGNAL_IN  ( in_NB_INST_COMMIT_ALL               ,"COMMIT_ALL"       ,Tcounter_t           ,_param->_size_nb_inst_commit);
    176179      ALLOC1_SIGNAL_IN  ( in_NB_INST_COMMIT_MEM               ,"COMMIT_MEM"       ,Tcounter_t           ,_param->_size_nb_inst_commit);
     180      ALLOC1_SIGNAL_OUT (out_NB_INST_DECOD_ALL                ,"DECOD_ALL"        ,Tcounter_t           ,_param->_size_nb_inst_decod );
    177181    }
    178182
     
    699703          PORT_MAP(_component,src ,"out_DECOD_"+toString(j)+"_IS_DELAY_SLOT",
    700704                              dest,"out_DECOD_"+toString(x)+"_IS_DELAY_SLOT");
     705#ifdef DEBUG
     706          PORT_MAP(_component,src ,"out_DECOD_"+toString(j)+"_ADDRESS"      ,
     707                              dest,"out_DECOD_"+toString(x)+"_ADDRESS"      );
     708#endif
    701709          PORT_MAP(_component,src ,"out_DECOD_"+toString(j)+"_ADDRESS_NEXT" ,
    702710                              dest,"out_DECOD_"+toString(x)+"_ADDRESS_NEXT" );
     
    809817          uint32_t y=(_param->_translate_context_id_from_decod_unit[i])[j];
    810818
    811           dest = _name+"_context_state";
     819          dest = _name+"_glue";
    812820#ifdef POSITION
    813821          _component->interface_map (src ,"nb_inst_"+toString(j),
     
    815823#endif
    816824
    817           COMPONENT_MAP(_component,src ,"out_NB_INST_"+toString(j)+"_DECOD_ALL",
    818                                    dest, "in_NB_INST_"+toString(y)+"_DECOD_ALL");
     825          COMPONENT_MAP(_component,src ,"out_NB_INST_"+toString(j)+           "_DECOD_ALL",
     826                                   dest, "in_NB_INST_"+toString(y)+"_DECOD_UNIT_DECOD_ALL");
    819827        }
    820828
     
    965973
    966974      // ~~~~~[ Interface : "nb_inst" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    967       //   in_NB_INST_DECOD_ALL                  - component_decod_unit
    968 
    969975      for (uint32_t i=0; i<_param->_nb_context; ++i)
    970976        {
    971977          dest = _name;
    972978#ifdef POSITION
    973           _component->interface_map (src ,"nb_inst",
    974                                      dest,"nb_inst");
     979          _component->interface_map (src ,"nb_inst_"+toString(i),
     980                                     dest,"nb_inst_"+toString(i));
    975981#endif
    976982         
     
    979985          PORT_MAP(_component,src , "in_NB_INST_"+toString(i)+"_COMMIT_MEM",
    980986                              dest, "in_NB_INST_"+toString(i)+"_COMMIT_MEM");
     987
     988          dest = _name+"_glue";
     989#ifdef POSITION
     990          _component->interface_map (src ,"nb_inst_"+toString(i),
     991                                     dest,"nb_inst_"+toString(i));
     992#endif
     993         
     994          COMPONENT_MAP(_component,src , "in_NB_INST_"+toString(i)+              "_DECOD_ALL",
     995                                   dest,"out_NB_INST_"+toString(i)+"_CONTEXT_STATE_DECOD_ALL");
    981996      }
    982997
     
    12181233      //  out_CONTEXT_DECOD_UNIT_DEPTH_VAL                      - component_decod_unit
    12191234      //  out_CONTEXT_DECOD_UNIT_DEPTH                          - component_decod_unit
     1235
     1236      // ~~~~~[ Interface : "nb_inst" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     1237      for (uint32_t i=0; i<_param->_nb_context; ++i)
     1238        {
     1239          dest = _name;
     1240#ifdef POSITION
     1241          _component->interface_map (src ,"nb_inst_"+toString(i),
     1242                                     dest,"nb_inst_"+toString(i));
     1243#endif
     1244         
     1245          PORT_MAP(_component,src ,"out_NB_INST_"+toString(i)+"_DECOD_ALL",
     1246                              dest,"out_NB_INST_"+toString(i)+"_DECOD_ALL");
     1247
     1248      //   in_NB_INST_DECOD_UNIT_DECOD_ALL                      - component_decod_unit
     1249      //  out_NB_INST_CONTEXT_STATE_DECOD_ALL                   - component_context_state
     1250        }
    12201251    }
    12211252   
Note: See TracChangeset for help on using the changeset viewer.