Ignore:
Timestamp:
Jul 8, 2009, 8:40:08 PM (15 years ago)
Author:
rosiere
Message:

1) add constant method
2) test with systemc 2.2.0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_allocation.cpp

    r128 r131  
    106106    }
    107107
    108     // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     108    // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    109109    {
    110110      ALLOC2_INTERFACE_BEGIN("insert_rob",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
     
    179179    component_spr        = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile * [_param->_nb_ooo_engine];
    180180    component_spr_status = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile * [_param->_nb_ooo_engine];
     181
     182//     component_gpr        = new morpheo::behavioural::generic::registerfile::registerfile_multi_banked::RegisterFile_Multi_Banked::RegisterFile_Multi_Banked * [_param->_nb_ooo_engine];
     183//     component_gpr_status = new morpheo::behavioural::generic::registerfile::registerfile_monolithic  ::RegisterFile_Monolithic  ::RegisterFile_Monolithic   * [_param->_nb_ooo_engine];
     184//     component_spr        = new morpheo::behavioural::generic::registerfile::registerfile_multi_banked::RegisterFile_Multi_Banked::RegisterFile_Multi_Banked * [_param->_nb_ooo_engine];
     185//     component_spr_status = new morpheo::behavioural::generic::registerfile::registerfile_monolithic  ::RegisterFile_Monolithic  ::RegisterFile_Monolithic   * [_param->_nb_ooo_engine];
    181186     
    182187    for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
     
    185190        log_printf(INFO,Register_unit,FUNCTION,_("Create   : %s"),name.c_str());
    186191
    187         component_gpr        [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile
     192        component_gpr [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile
     193//      component_gpr [i] = new morpheo::behavioural::generic::registerfile::registerfile_multi_banked::RegisterFile_Multi_Banked::RegisterFile_Multi_Banked
    188194          (name.c_str()
    189195#ifdef STATISTICS
    190196           ,param_statistics
    191197#endif
    192            ,_param->_param_gpr [i]
     198           ,_param->_param_gpr [i]//->_param_registerfile_multi_banked
    193199           ,_usage
    194200           );
     
    207213        log_printf(INFO,Register_unit,FUNCTION,_("Create   : %s"),name.c_str());
    208214
    209         component_gpr_status [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile
     215        component_gpr_status [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile
     216//      component_gpr_status [i] = new morpheo::behavioural::generic::registerfile::registerfile_monolithic  ::RegisterFile_Monolithic  ::RegisterFile_Monolithic
    210217          (name.c_str()
    211218#ifdef STATISTICS
    212219           ,param_statistics
    213220#endif
    214            ,_param->_param_gpr_status [i]
     221           ,_param->_param_gpr_status [i]//->_param_registerfile_monolithic
    215222           ,_usage
    216223           );
     
    229236        log_printf(INFO,Register_unit,FUNCTION,_("Create   : %s"),name.c_str());
    230237         
    231         component_spr        [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile
     238        component_spr [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile
     239//      component_spr [i] = new morpheo::behavioural::generic::registerfile::registerfile_multi_banked::RegisterFile_Multi_Banked::RegisterFile_Multi_Banked
    232240          (name.c_str()
    233241#ifdef STATISTICS
    234242           ,param_statistics
    235243#endif
    236            ,_param->_param_spr [i]
     244           ,_param->_param_spr [i]//->_param_registerfile_multi_banked
    237245           ,_usage
    238246           );
     
    250258        log_printf(INFO,Register_unit,FUNCTION,_("Create   : %s"),name.c_str());
    251259
    252         component_spr_status [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile
     260        component_spr_status [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile
     261//      component_spr_status [i] = new morpheo::behavioural::generic::registerfile::registerfile_monolithic::RegisterFile_Monolithic::RegisterFile_Monolithic
    253262          (name.c_str()
    254263#ifdef STATISTICS
    255264           ,param_statistics
    256265#endif
    257            ,_param->_param_spr_status [i]
     266           ,_param->_param_spr_status [i]//->_param_registerfile_monolithic
    258267           ,_usage
    259268           );
     
    269278      }
    270279
    271 
    272     name = _name+"_glue";
    273     log_printf(INFO,Register_unit,FUNCTION,_("Create   : %s"),name.c_str());
    274      
    275     component_glue      = new morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::register_unit_glue::Register_unit_Glue::Register_unit_Glue     
    276       (name.c_str()
     280    {
     281      name = _name+"_glue";
     282      log_printf(INFO,Register_unit,FUNCTION,_("Create   : %s"),name.c_str());
     283      
     284      component_glue = new morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::register_unit_glue::Register_unit_Glue::Register_unit_Glue     
     285        (name.c_str()
    277286#ifdef STATISTICS
    278        ,param_statistics
    279 #endif
    280        ,_param->_param_glue
    281        ,_usage
    282        );
    283 
    284     _component->set_component (component_glue->_component
    285 #ifdef POSITION
    286                                , 50
    287                                , 50
    288                                , 10
    289                                , 10
    290 #endif
    291                                );
     287         ,param_statistics
     288#endif
     289         ,_param->_param_glue
     290         ,_usage
     291         );
     292     
     293      _component->set_component (component_glue->_component
     294#ifdef POSITION
     295                                 , 50
     296                                 , 50
     297                                 , 10
     298                                 , 10
     299#endif
     300                                 );
     301    }
    292302     
    293303    // ~~~~~[ Instanciation ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
    294304    std::string src,dest;
    295    
     305
     306    // -------------------------------------------------------------------   
     307    // -----[ gpr ]-------------------------------------------------------   
     308    // -------------------------------------------------------------------   
    296309    for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
    297310      {
     
    300313        log_printf(INFO,Register_unit,FUNCTION,_("Instance : %s"),src.c_str());
    301314       
     315        // -----[ instance "" ]-----------------------------------------------   
    302316        {
    303317          dest = _name;
     
    310324        }
    311325
     326        // -----[ instance "read" ]-------------------------------------------   
    312327        for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
    313328          {
     
    332347          }
    333348
     349        // -----[ instance "write" ]------------------------------------------   
    334350        for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
    335351          {
     
    353369                                     dest, "in_GPR_WRITE_"+toString(j)+"_DATA");
    354370          }
    355 
    356371      }// gpr
    357372   
     373    // -------------------------------------------------------------------   
     374    // -----[ gpr_status ]------------------------------------------------
     375    // -------------------------------------------------------------------   
    358376    {
    359377      for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
     
    401419             
    402420#ifdef POSITION
    403               _component->interface_map (src ,    "write_"+toString(j),
     421              _component->interface_map (src ,    "write_"+toString(x),
    404422                                         dest,"gpr_write_status_"+toString(i)+"_"+toString(j));
    405423#endif
     
    445463              x++;
    446464            }
    447 
    448465        }
    449466    }// gpr_status
    450467
     468    // -------------------------------------------------------------------   
     469    // -----[ spr ]-------------------------------------------------------
     470    // -------------------------------------------------------------------   
    451471    for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
    452472      {
     
    508528                                     dest, "in_SPR_WRITE_"+toString(j)+"_DATA");
    509529          }
    510 
    511530      }// spr
    512531   
     532    // -------------------------------------------------------------------   
     533    // -----[ spr_status ]------------------------------------------------
     534    // -------------------------------------------------------------------   
    513535    {
    514536      for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
     
    556578             
    557579#ifdef POSITION
    558               _component->interface_map (src ,    "write_"+toString(j),
     580              _component->interface_map (src ,    "write_"+toString(x),
    559581                                         dest,"spr_write_status_"+toString(i)+"_"+toString(j));
    560582#endif
     
    581603             
    582604#ifdef POSITION
    583               _component->interface_map (src ,    "write_"+toString(j),
     605              _component->interface_map (src ,    "write_"+toString(x),
    584606                                         dest,"insert_rob_spr_status_"+toString(i)+"_"+toString(j));
    585607#endif
     
    592614                                       dest,"out_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_DATA");
    593615//                                     dest,"out_CONST_0");
    594              
     616
    595617              dest = _name;
    596618             
     
    600622              x++;
    601623            }
    602 
    603 
    604624        }
    605625    }// spr_status
    606626
     627    // -------------------------------------------------------------------   
     628    // -----[ glue ]------------------------------------------------------
     629    // -------------------------------------------------------------------   
    607630    {
    608631      src = _name+"_glue";
     
    730753      for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
    731754        {
    732           uint32_t x     =_param->_nb_inst_insert_rob [i];
     755          uint32_t x = _param->_nb_inst_insert_rob [i];
    733756
    734757          for (uint32_t j=0; j<x; j++)
     
    758781            }
    759782        }
    760      
    761783    }// glue
    762784
Note: See TracChangeset for help on using the changeset viewer.