Ignore:
Timestamp:
Feb 16, 2009, 9:28:31 PM (15 years ago)
Author:
rosiere
Message:

1) Configuration : instance configuration file : regroup similar instance
2) Configuration : timing default = 0
3) Debug/Commit_unit : Add watch dog timer
4) Issue_queue : Test parameters : add test if type is optionnal
5) Cor_glue : Fix insert index
6) Free_list : remove bank_by_pop (else deadlock)
7) Update Free List : add register to source event

File:
1 edited

Legend:

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

    r97 r109  
    220220           
    221221            for (uint32_t k=0; k<MAX_OPERATION; ++k)
    222               if (is_type_valid(j) and (j != TYPE_MEMORY))// A functional unit can't execute memory instruction
    223                 {
    224                   _param->_timing [i][j][k]._latence = fromString<uint32_t> (getParam("latence",
    225                                                                                       "functionnal_unit",toString(i).c_str(),
    226                                                                                       "type"            ,toString(j).c_str(),
    227                                                                                       "operation"       ,toString(k).c_str(),
    228                                                                                       ""));
    229                   _param->_timing [i][j][k]._delay   = fromString<uint32_t> (getParam("delay",
    230                                                                                       "functionnal_unit",toString(i).c_str(),
    231                                                                                       "type"            ,toString(j).c_str(),
    232                                                                                       "operation"       ,toString(k).c_str(),
    233                                                                                       ""));
    234                 }
    235               else
    236                 {
    237                   _param->_timing [i][j][k]._latence = 0;
    238                   _param->_timing [i][j][k]._delay   = 0;
    239                 }
     222              {
     223                if (is_type_valid(j) and (j != TYPE_MEMORY))// A functional unit can't execute memory instruction
     224                  {
     225                    _param->_timing [i][j][k]._latence = fromString<uint32_t> (getParam("latence",
     226                                                                                        "functionnal_unit",toString(i).c_str(),
     227                                                                                        "type"            ,toString(j).c_str(),
     228                                                                                        "operation"       ,toString(k).c_str(),
     229                                                                                        ""));
     230                    _param->_timing [i][j][k]._delay   = fromString<uint32_t> (getParam("delay",
     231                                                                                        "functionnal_unit",toString(i).c_str(),
     232                                                                                        "type"            ,toString(j).c_str(),
     233                                                                                        "operation"       ,toString(k).c_str(),
     234                                                                                        ""));
     235                  }
     236                else
     237                  {
     238                    _param->_timing [i][j][k]._latence = 0;
     239                    _param->_timing [i][j][k]._delay   = 0;
     240                  }
     241              }
    240242          }
    241243      }
     
    247249  //log_printf(INFO,Configuration,FUNCTION,_("ICACHE_PORT"));
    248250
    249     _param->_nb_icache_port               = fromString<uint32_t         >(getParam("nb_icache_port"            , ""));
     251    _param->_nb_icache_port             = fromString<uint32_t           >(getParam("nb_icache_port"            , ""));
    250252    _param->_icache_port_priority       = fromString<Tpriority_t        >(getParam("icache_port_priority"      , ""));
    251253    _param->_icache_port_load_balancing = fromString<Tload_balancing_t  >(getParam("icache_port_load_balancing", ""));
     
    512514        getLink_2("link_execute_unit_with_functionnal_unit",toString(i).c_str(), "");
    513515        _param->_link_execute_unit_with_functionnal_unit [i] = pair_dual(fromString<uint32_t>(dest[0]),
    514                                                                         fromString<uint32_t>(dest[1]));
     516                                                                         fromString<uint32_t>(dest[1]));
    515517      }
    516518
     
    519521        getLink_2("link_execute_unit_with_load_store_unit",toString(i).c_str(), "");
    520522        _param->_link_execute_unit_with_load_store_unit [i] = pair_dual(fromString<uint32_t>(dest[0]),
    521                                                                        fromString<uint32_t>(dest[1]));
     523                                                                        fromString<uint32_t>(dest[1]));
    522524
    523525        for (uint32_t j=0; j<_param->_nb_cache_port[i]; ++j)
Note: See TracChangeset for help on using the changeset viewer.