Ignore:
Timestamp:
Dec 19, 2008, 4:34:00 PM (16 years ago)
Author:
rosiere
Message:

1) Update Prediction Table : statistics
2) Size instruction address on 30 bits
3) Change Log File
4) Add debug_level in simulation configuration file

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration
Files:
1 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/SelfTest/src/test.cpp

    r88 r97  
    1010#include "Behavioural/Custom/include/Custom_default.h"
    1111#include "Behavioural/Custom/include/Custom_example.h"
     12#include "Common/include/Time.h"
    1213
    1314void test (string name)
    1415{
     16  Time * timing = new Time (false);
     17
    1518  morpheo::behavioural::custom::custom_information_t (*_get_custom_information) (void) = &(morpheo::behavioural::custom::default_get_custom_information);
    1619
     
    8184  delete generator1;
    8285  delete simulator1;
    83 
    84 
     86  delete timing;
    8587}
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/include/Configuration.h

    r88 r97  
    4646  public   :                     ~Configuration  ();
    4747
     48  public   : std::string                                   header             (void);
    4849  public   : std::string                                   getName            (void);
    4950  public   : Tusage_t                                      getUsage           (void);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/include/Parameters.h

    r88 r97  
    3030  public : uint32_t              * _ras_size_queue                                ;//[nb_thread]
    3131  public : uint32_t              * _upt_size_queue                                ;//[nb_thread]
     32  public : uint32_t              * _ufpt_size_queue                               ;//[nb_thread]
    3233 
    3334    // Decod bloc
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Configuration.cpp

    r88 r97  
    2323    log_begin(Configuration,FUNCTION);
    2424
     25    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     26    // Simulator configuration
     27    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     28
    2529    _simulator = new Simulator (filename_simulator);
    26     _generator = new Generator (filename_generator);
    27     _instance  = new Instance  (filename_instance ,
    28                                 _generator,
    29                                 get_custom_information);
    3030
    3131    //--------------------------------------------------
    32     // Name
     32    // Directory
    3333    //--------------------------------------------------
    34     _name      = _instance->getName();
     34    directory_init (_simulator->getParam("directory_statistics"),
     35                    _simulator->getParam("directory_vhdl"      ),
     36                    _simulator->getParam("directory_position"  ),
     37                    _simulator->getParam("directory_log"       ));
    3538
    3639    //--------------------------------------------------
    37     // Parameters
     40    // Debug & Log File
    3841    //--------------------------------------------------
    39     _param     = _instance->_param;
     42    debug_init (fromString<debug_verbosity_t>(_simulator->getParam("debug_level")));
     43
     44    log_init(fromString<bool>(_simulator->getParam("debug_have_log_file")),
     45             MORPHEO_LOG);
    4046
    4147    //--------------------------------------------------
     
    6470
    6571    //--------------------------------------------------
     72    // Header
     73    //--------------------------------------------------
     74
     75    if (usage_is_set(_usage,USE_HEADER))
     76      std::cout << header();
     77
     78    //--------------------------------------------------
    6679    // Parameters_Statistics
    6780    //--------------------------------------------------
     
    7588                     fromString<double>(_simulator->getParam("simulation_nb_instruction")));
    7689
     90
     91    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     92    // Generator configuration + Instance
     93    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     94
     95    _generator = new Generator (filename_generator);
     96    _instance  = new Instance  (filename_instance ,
     97                                _generator,
     98                                get_custom_information);
     99
    77100    //--------------------------------------------------
    78     // Directory
     101    // Name
    79102    //--------------------------------------------------
    80     directory_init (_simulator->getParam("directory_statistics"),
    81                     _simulator->getParam("directory_vhdl"      ),
    82                     _simulator->getParam("directory_position"  ),
    83                     _simulator->getParam("directory_log"       ));
     103    _name      = _instance->getName();
     104
     105    //--------------------------------------------------
     106    // Parameters
     107    //--------------------------------------------------
     108    _param     = _instance->_param;
     109
    84110
    85111    log_end(Configuration,FUNCTION);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Instance.cpp

    r88 r97  
    164164        DELETE1(_param->_nb_inst_decod                          ,_param->_nb_decod_bloc);
    165165        DELETE1(_param->_size_decod_queue                       ,_param->_nb_decod_bloc);
     166        DELETE1(_param->_ufpt_size_queue                        ,_param->_nb_thread);
    166167        DELETE1(_param->_upt_size_queue                         ,_param->_nb_thread);
    167168        DELETE1(_param->_ras_size_queue                         ,_param->_nb_thread);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Instance_fromInternalStructure.cpp

    r88 r97  
    2121    // Common
    2222    //-----------------------------------------------------
    23     log_printf(INFO,Configuration,FUNCTION,_("COMMON"));
     23  //log_printf(INFO,Configuration,FUNCTION,_("COMMON"));
    2424
    2525    _param->_size_general_data   = fromString<uint32_t>(getParam("size_data"          , ""));
     
    4646    ALLOC1(_param->_ras_size_queue   ,uint32_t,_param->_nb_thread);
    4747    ALLOC1(_param->_upt_size_queue   ,uint32_t,_param->_nb_thread);
     48    ALLOC1(_param->_ufpt_size_queue  ,uint32_t,_param->_nb_thread);
    4849   
    4950    for (uint32_t i=0; i<_param->_nb_thread; ++i)
    5051      {
    51         log_printf(INFO,Configuration,FUNCTION,_("THREAD [%d]"),i);
     52      //log_printf(INFO,Configuration,FUNCTION,_("THREAD [%d]"),i);
    5253
    5354        _param->_size_ifetch_queue [i] = fromString<uint32_t>(getParam("size_ifetch_queue", "thread",toString(i).c_str(),""));
     
    5556        _param->_ras_size_queue    [i] = fromString<uint32_t>(getParam("ras_size_queue"   , "thread",toString(i).c_str(),""));
    5657        _param->_upt_size_queue    [i] = fromString<uint32_t>(getParam("upt_size_queue"   , "thread",toString(i).c_str(),""));
     58        _param->_ufpt_size_queue   [i] = fromString<uint32_t>(getParam("ufpt_size_queue"  , "thread",toString(i).c_str(),""));
    5759
    5860        // just read !!!
     
    8587    for (uint32_t i=0; i<_param->_nb_decod_bloc; ++i)
    8688      {
    87         log_printf(INFO,Configuration,FUNCTION,_("DECOD_BLOC [%d]"),i);
     89      //log_printf(INFO,Configuration,FUNCTION,_("DECOD_BLOC [%d]"),i);
    8890
    8991        _param->_size_decod_queue              [i] = fromString<uint32_t         > (getParam("size_decod_queue"             , "decod_bloc",toString(i).c_str(),""));
     
    111113    for (uint32_t i=0; i<_param->_nb_rename_bloc; ++i)
    112114      {
    113         log_printf(INFO,Configuration,FUNCTION,_("RENAME_BLOC [%d]"),i);
     115      //log_printf(INFO,Configuration,FUNCTION,_("RENAME_BLOC [%d]"),i);
    114116
    115117        _param->_nb_inst_insert                    [i] = fromString<uint32_t         > (getParam("nb_inst_insert"                   , "rename_bloc",toString(i).c_str(),""));
     
    134136    for (uint32_t i=0; i<_param->_nb_read_bloc; ++i)
    135137      {
    136         log_printf(INFO,Configuration,FUNCTION,_("READ_BLOC [%d]"),i);
     138      //log_printf(INFO,Configuration,FUNCTION,_("READ_BLOC [%d]"),i);
    137139
    138140        _param->_size_read_queue                    [i] = fromString<uint32_t> (getParam("size_read_queue"                   ,"read_bloc",toString(i).c_str(),""));
     
    150152    for (uint32_t i=0; i<_param->_nb_write_bloc; ++i)
    151153      {
    152         log_printf(INFO,Configuration,FUNCTION,_("WRITE_BLOC [%d]"),i);
     154      //log_printf(INFO,Configuration,FUNCTION,_("WRITE_BLOC [%d]"),i);
    153155
    154156        _param->_size_write_queue   [i] = fromString<uint32_t> (getParam("size_write_queue"  ,"write_bloc",toString(i).c_str(),""));
     
    171173    for (uint32_t i=0; i<_param->_nb_load_store_unit; ++i)
    172174      {
    173         log_printf(INFO,Configuration,FUNCTION,_("LOAD_STORE_UNIT [%d]"),i);
     175      //log_printf(INFO,Configuration,FUNCTION,_("LOAD_STORE_UNIT [%d]"),i);
    174176
    175177        _param->_size_store_queue              [i] = fromString<uint32_t> (getParam("size_store_queue"             ,"load_store_unit",toString(i).c_str(),""));
     
    192194    for (uint32_t i=0; i<_param->_nb_functionnal_unit; ++i)
    193195      {
    194         log_printf(INFO,Configuration,FUNCTION,_("FUNCTIONNAL_UNIT [%d]"),i);
     196      //log_printf(INFO,Configuration,FUNCTION,_("FUNCTIONNAL_UNIT [%d]"),i);
    195197
    196198        _param->_nb_inst_functionnal_unit [i] = fromString<uint32_t> (getParam("nb_inst_functionnal_unit","functionnal_unit",toString(i).c_str(),""));
     
    243245    //-----------------------------------------------------
    244246
    245     log_printf(INFO,Configuration,FUNCTION,_("ICACHE_PORT"));
     247  //log_printf(INFO,Configuration,FUNCTION,_("ICACHE_PORT"));
    246248
    247249    _param->_nb_icache_port               = fromString<uint32_t         >(getParam("nb_icache_port"            , ""));
     
    252254    // dcache_port
    253255    //-----------------------------------------------------
    254     log_printf(INFO,Configuration,FUNCTION,_("DCACHE_PORT"));
     256  //log_printf(INFO,Configuration,FUNCTION,_("DCACHE_PORT"));
    255257
    256258    _param->_nb_dcache_port               = fromString<uint32_t         >(getParam("nb_dcache_port"            , ""));
     
    282284    for (uint32_t i=0; i<_param->_nb_front_end; ++i)
    283285      {
    284         log_printf(INFO,Configuration,FUNCTION,_("FRONT_END [%d]"),i);
     286      //log_printf(INFO,Configuration,FUNCTION,_("FRONT_END [%d]"),i);
    285287
    286288        _param->_nb_context                    [i] = fromString<uint32_t    >(getParam("nb_context"                ,"front_end",toString(i).c_str(), ""));
     
    306308        for (uint32_t j=0; j<3; ++j)
    307309          {
    308             log_printf(INFO,Configuration,FUNCTION,_("PREDICTOR [%d][%d]"),i,j);
     310          //log_printf(INFO,Configuration,FUNCTION,_("PREDICTOR [%d][%d]"),i,j);
    309311
    310312        _param->_dir_have_bht               [i][j] = fromString<bool        >(getParam("dir_have_bht"              ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
     
    343345    for (uint32_t i=0; i<_param->_nb_ooo_engine; ++i)
    344346      {
    345         log_printf(INFO,Configuration,FUNCTION,_("OOO_ENGINE [%d]"),i);
     347      //log_printf(INFO,Configuration,FUNCTION,_("OOO_ENGINE [%d]"),i);
    346348
    347349        _param->_nb_rename_unit          [i] = fromString<uint32_t         >(getParam("nb_rename_unit"          ,"ooo_engine",toString(i).c_str(), ""));
     
    383385    for (uint32_t i=0; i<_param->_nb_execute_loop; ++i)
    384386      {
    385         log_printf(INFO,Configuration,FUNCTION,_("EXECUTE_LOOP [%d]"),i);
     387      //log_printf(INFO,Configuration,FUNCTION,_("EXECUTE_LOOP [%d]"),i);
    386388
    387389        _param->_nb_read_unit                         [i] = fromString<uint32_t   >(getParam("nb_read_unit"                         ,"execute_loop",toString(i).c_str(), ""));
     
    402404    //-----------------------------------------------------
    403405
    404     log_printf(INFO,Configuration,FUNCTION,_("LINK"));
     406  //log_printf(INFO,Configuration,FUNCTION,_("LINK"));
    405407
    406408    _param->_dispatch_priority       = fromString<Tpriority_t      >(getParam("dispatch_priority"      , ""));
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Instance_getLink.cpp

    r88 r97  
    7474      {
    7575        _return = link2array(dest);
    76         log_printf(INFO,Configuration,FUNCTION,_("Link       \"%s[%s]\"= %s."),name,src.c_str(),dest.c_str());
     76      //log_printf(INFO,Configuration,FUNCTION,_("Link       \"%s[%s]\"= %s."),name,src.c_str(),dest.c_str());
    7777      }
    7878    else
    7979      {
    8080        _return.clear();
    81         log_printf(INFO,Configuration,FUNCTION,_("Link       \"%s[%s]\" not find."),name,src.c_str());
     81      //log_printf(INFO,Configuration,FUNCTION,_("Link       \"%s[%s]\" not find."),name,src.c_str());
    8282      }
    8383
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Instance_getParam.cpp

    r88 r97  
    4848          if (it == ((*list_components)[component]).end())
    4949            {
    50               log_printf(INFO,Configuration,FUNCTION,_("Component \"%s[%s]\" is not define, take default value for parameter \"%s\"."),component.c_str(),id.c_str(),name);
     50            //log_printf(INFO,Configuration,FUNCTION,_("Component \"%s[%s]\" is not define, take default value for parameter \"%s\"."),component.c_str(),id.c_str(),name);
    5151
    5252              value = _generator->getParam(name)->_default;
     
    6868          if (it == (*list_parameters).end())
    6969            {
    70               log_printf(INFO,Configuration,FUNCTION,_("Component \"%s[%s]\" is define, but parameter \"%s\" is not define. Take default value."),component.c_str(),id.c_str(),name);
     70            //log_printf(INFO,Configuration,FUNCTION,_("Component \"%s[%s]\" is define, but parameter \"%s\" is not define. Take default value."),component.c_str(),id.c_str(),name);
    7171
    7272              value = _generator->getParam(name)->_default;
     
    8585    }
    8686   
    87     log_printf(INFO,Configuration,FUNCTION,_("Parameters \"%s\" = %s."),name,value.c_str());
     87  //log_printf(INFO,Configuration,FUNCTION,_("Parameters \"%s\" = %s."),name,value.c_str());
    8888
    8989    log_end(Configuration,FUNCTION);
Note: See TracChangeset for help on using the changeset viewer.