Ignore:
Timestamp:
Oct 13, 2010, 8:15:51 PM (14 years ago)
Author:
rosiere
Message:

1) add test with SPECINT2K
2) new config of Selftest
3) modif RAT to support multiple depth_save ... but not finish (need fix Update Prediction Table)
4) add Function_pointer but need fix

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/OOO_Engine_allocation.cpp

    r139 r145  
    534534            COMPONENT_MAP(_component,src ,"out_INSERT_"+toString(j)                +"_IS_DELAY_SLOT" ,
    535535                                     dest, "in_INSERT_"+toString(i)+"_"+toString(j)+"_IS_DELAY_SLOT" );
     536            if (_param->_rat_scheme[i] == RAT_DEPTH_SAVE)
     537            COMPONENT_MAP(_component,src ,"out_INSERT_"+toString(j)                +"_SAVE_RAT"      ,
     538                                     dest, "in_INSERT_"+toString(i)+"_"+toString(j)+"_SAVE_RAT"      );
    536539//          COMPONENT_MAP(_component,src ,"out_INSERT_"+toString(j)                +"_HAVE_EVENT"    ,
    537540//                                   dest, "in_INSERT_"+toString(i)+"_"+toString(j)+"_HAVE_EVENT"    );
     
    633636#endif
    634637
    635 
    636 
    637638            COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_VAL"               ,
    638639                                     dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_VAL"               );
     
    670671            COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_LOAD_QUEUE_PTR_WRITE" ,
    671672                                     dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_LOAD_QUEUE_PTR_WRITE" );
    672 //             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_READ_RA"              ,
    673 //                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_READ_RA"              );
    674 //             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_NUM_REG_RA_PHY"       ,
    675 //                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_NUM_REG_RA_PHY"       );
    676 //             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_READ_RB"              ,
    677 //                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_READ_RB"              );
    678 //             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_NUM_REG_RB_PHY"       ,
    679 //                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_NUM_REG_RB_PHY"       );
    680 //             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_READ_RC"              ,
    681 //                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_READ_RC"              );
    682 //             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_NUM_REG_RC_PHY"       ,
    683 //                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_NUM_REG_RC_PHY"       );
     673//          COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_READ_RA"              ,
     674//                                   dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_READ_RA"              );
     675//          COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_NUM_REG_RA_PHY"       ,
     676//                                   dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_NUM_REG_RA_PHY"       );
     677//          COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_READ_RB"              ,
     678//                                   dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_READ_RB"              );
     679//          COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_NUM_REG_RB_PHY"       ,
     680//                                   dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_NUM_REG_RB_PHY"       );
     681//          COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_READ_RC"              ,
     682//                                   dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_READ_RC"              );
     683//          COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_NUM_REG_RC_PHY"       ,
     684//                                   dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_NUM_REG_RC_PHY"       );
    684685            COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_NUM_REG_RD_LOG"       ,
    685686                                     dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_NUM_REG_RD_LOG"       );
     
    755756              }
    756757        }
     758
     759        // ~~~~~[ Interface : "spr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     760        {
     761          std::vector<uint32_t>::iterator it = _param->_link_front_end_with_rename_unit[i].begin();
     762          uint32_t x = 0;
     763          for (uint32_t j=0; j<_param->_nb_front_end; j++)
     764            if (j == *it)
     765              {
     766                for (uint32_t k=0; k<_param->_nb_context[j]; k++)
     767                  {
     768                    dest = _name;
     769                   
     770#ifdef POSITION
     771                    _component->interface_map (src ,"spr_read_"+toString(x)+"_"+toString(k),
     772                                               dest,"spr_"     +toString(j)+"_"+toString(k));
     773#endif
     774
     775                    if (_param->_have_port_depth)
     776                      {
     777                    PORT_MAP(_component,src , "in_DEPTH_"+toString(x)+"_"+toString(k)+"_MIN" ,
     778                                        dest, "in_DEPTH_"+toString(j)+"_"+toString(k)+"_MIN" );
     779                    PORT_MAP(_component,src , "in_DEPTH_"+toString(x)+"_"+toString(k)+"_MAX" ,
     780                                        dest, "in_DEPTH_"+toString(j)+"_"+toString(k)+"_MAX" );
     781                      }
     782                    PORT_MAP(_component,src , "in_DEPTH_"+toString(x)+"_"+toString(k)+"_FULL",
     783                                        dest, "in_DEPTH_"+toString(j)+"_"+toString(k)+"_FULL");
     784                  }
     785                x++;
     786                ++it;
     787              }
     788        }
     789
    757790
    758791        // ~~~~~[ Interface : "info" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     
    919952            //  out_RETIRE_CONTEXT_ID                - component_rename_unit
    920953            ////out_RETIRE_RENAME_UNIT_ID            - component_rename_unit
     954            //  out_RETIRE_DEPTH                     - component_rename_unit
    921955            //  out_RETIRE_USE_STORE_QUEUE           - component_rename_unit
    922956            //  out_RETIRE_USE_LOAD_QUEUE            - component_rename_unit
     
    9811015          COMPONENT_MAP(_component,src ,"out_COMMIT_"+toString(i)+"_NUM_REG_RD" ,
    9821016                                   dest, "in_COMMIT_"+toString(i)+"_NUM_REG_RD" );
    983           //@@@@@@@@@@
    9841017        }
    9851018     
     
    11111144          }
    11121145
    1113       // ~~~~~[ Interface : "depth" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~       
    1114       for (uint32_t i=0; i<_param->_nb_front_end; i++)
    1115         for (uint32_t j=0; j<_param->_nb_context[i]; j++)
    1116           {
    1117             dest = _name;
    1118 #ifdef POSITION
    1119             _component->interface_map (src ,"depth_"+toString(i)+"_"+toString(j),
    1120                                        dest,"depth_"+toString(i)+"_"+toString(j));
    1121 #endif
    1122 
    1123             if (_param->_have_port_depth)
    1124               {
    1125             PORT_MAP(_component,src , "in_DEPTH_"+toString(i)+"_"+toString(j)+"_MIN",
    1126                                 dest, "in_DEPTH_"+toString(i)+"_"+toString(j)+"_MIN");
    1127             PORT_MAP(_component,src , "in_DEPTH_"+toString(i)+"_"+toString(j)+"_MAX",
    1128                                 dest, "in_DEPTH_"+toString(i)+"_"+toString(j)+"_MAX");
    1129               }
    1130             PORT_MAP(_component,src , "in_DEPTH_"+toString(i)+"_"+toString(j)+"_FULL",
    1131                                 dest, "in_DEPTH_"+toString(i)+"_"+toString(j)+"_FULL");
    1132           }
     1146//      // ~~~~~[ Interface : "depth" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     
     1147//      for (uint32_t i=0; i<_param->_nb_front_end; i++)
     1148//        for (uint32_t j=0; j<_param->_nb_context[i]; j++)
     1149//          {
     1150//            dest = _name;
     1151//#ifdef POSITION
     1152//            _component->interface_map (src ,"depth_"+toString(i)+"_"+toString(j),
     1153//                                       dest,"depth_"+toString(i)+"_"+toString(j));
     1154//#endif
     1155//
     1156//            if (_param->_have_port_depth)
     1157//              {
     1158//            PORT_MAP(_component,src , "in_DEPTH_"+toString(i)+"_"+toString(j)+"_MIN",
     1159//                                dest, "in_DEPTH_"+toString(i)+"_"+toString(j)+"_MIN");
     1160//            PORT_MAP(_component,src , "in_DEPTH_"+toString(i)+"_"+toString(j)+"_MAX",
     1161//                                dest, "in_DEPTH_"+toString(i)+"_"+toString(j)+"_MAX");
     1162//              }
     1163//            PORT_MAP(_component,src , "in_DEPTH_"+toString(i)+"_"+toString(j)+"_FULL",
     1164//                                dest, "in_DEPTH_"+toString(i)+"_"+toString(j)+"_FULL");
     1165//          }
    11331166
    11341167      // ~~~~~[ Interface : "spr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Note: See TracChangeset for help on using the changeset viewer.