Ignore:
Timestamp:
Mar 27, 2008, 11:04:49 AM (16 years ago)
Author:
rosiere
Message:

Add :

  • Execute_loop (must be test systemC)
  • Prediction
    • Direction : predifined scheme
    • Branch Target Buffer
  • iFetch_unit
    • ifetch_queue
    • pc management
  • Decod_unit
    • coming soon : support for custom operation
  • Rename_unit
    • RAT
    • Free_list
    • Dependence RAW check
    • Load store unit pointer
  • New Environnement (hierarchy_memory will remove in a next version)


Modif :

  • Manage Custom Operation
  • All component in execute_loop to use the new statistics management

Not Finish :

  • Return Address Stack
  • Environnement
File:
1 edited

Legend:

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

    r75 r78  
    1414#undef  FUNCTION
    1515#define FUNCTION "Signal::test_map"
    16   bool Signal::test_map (bool top_level)
     16  bool Signal::test_map (uint32_t depth, bool top_level)
    1717  {
    1818    log_printf(FUNC,Behavioural,FUNCTION,"Begin");
    1919
    20     log_printf(INFO,Behavioural,FUNCTION, "     * Signal \"%s\"",_name.c_str());
    21 
    22     bool _return = false;
     20    std::string str = "";
     21    std::string tab = std::string(depth,'\t');
     22//     log_printf(NONE,Behavioural,FUNCTION, "%s* Signal \"%s\"",tab.c_str(),_name.c_str());
     23//     log_printf(NONE,Behavioural,FUNCTION, "%s%d - %d - %d",tab.c_str(),
     24//             _is_map_as_toplevel_dest,
     25//             _is_map_as_component_src,
     26//             _is_map_as_component_dest);
     27    bool _return = true;
    2328
    2429    if (top_level == true)
    2530      {
    26         _return = _is_map_as_dest;
    27              
    2831        switch (_direction)
    2932          {
    3033          case morpheo::behavioural::IN       :
    3134            {
    32               if (_return == false)
    33                 std::cerr << "Signal \"" << _name << "\" is not mapped with an outpout port or a component." << std::endl;
     35              if (_is_map_as_toplevel_dest == false)
     36                {
     37                  _return = false;
     38
     39                  str = "Signal \""+_name+"\" is not mapped with an outpout port top-level's interface or a input port component's interface.";
     40                }
    3441              break;
    3542            }
    3643          case morpheo::behavioural::OUT      :
    3744            {
    38               if (_return == false)
    39                 std::cerr << "Signal \"" << _name << "\" is not mapped with an input port or a component." << std::endl;
     45              if (_is_map_as_toplevel_dest == false)
     46                {
     47                  _return = false;
     48                  str = "Signal \""+_name+"\" is not mapped with an input port top-level's interface or a output port component's interface.";
     49                }
    4050              break;
    4151            }
    42             //case morpheo::behavioural::INTERNAL : return "internal" ; break;
    43             //case morpheo::behavioural::INOUT    : return "inout"    ; break;
     52            //case morpheo::behavioural::INTERNAL :
     53            //case morpheo::behavioural::INOUT    :
    4454          default    : break;
    4555          }
     
    4757    else
    4858      {
    49         _return = _is_map_as_src and _is_map_as_dest;
     59        // internal signal :
     60        // Component --- I/O       (as_src)
     61        // Component --- Component (as_src and as_dest)
    5062
    51         if (_return == false)
     63        switch (_direction)
    5264          {
    53             if (_is_map_as_src  == false)
    54               std::cerr << "Signal \"" << _name << "\" is not mapped as source" << std::endl;
    55             if (_is_map_as_dest == false)
    56               std::cerr << "Signal \"" << _name << "\" is not mapped as destination" << std::endl;
     65          case morpheo::behavioural::IN       :
     66            {
     67              if (_is_map_as_component_src == false)
     68                {
     69                  _return = false;
     70                 
     71                  str = "Signal \""+_name+"\" is not mapped with an input port top-level's interface or a output port component's interface.";
     72                }
     73              break;
     74            }
     75          case morpheo::behavioural::OUT      :
     76            {
     77              if (_is_map_as_component_src == false)
     78                {
     79                  _return = false;
     80                 
     81                  str = "Signal \""+_name+"\" is not mapped with an outpout port top-level's interface or a input port component's interface.";
     82                }
     83              break;
     84            }
     85          case morpheo::behavioural::INTERNAL :
     86            {
     87              if (_is_map_as_component_src  == false)
     88                {
     89                  _return = false;
     90                 
     91                  str = "Internal signal \""+_name+"\" is not mapped with an outpout port top-level's interface or a input port component's interface.";
     92                }
     93
     94              if (_is_map_as_component_dest == false)
     95                {
     96                  if (_return == false)
     97                    str+="\n";
     98
     99                  _return = false;
     100                 
     101                  str += "Internal signal \""+_name+"\" is not mapped with an input port top-level's interface or a output port component's interface.";
     102                }
     103
     104              break;
     105            }
     106            //case morpheo::behavioural::INOUT    :
     107          default    : break;
    57108          }
    58109      }
    59110   
    60111    log_printf(FUNC,Behavioural,FUNCTION,"End");
     112
     113
     114
     115    if (_return == false)
     116      {
     117        log_printf(NONE,Behavioural,FUNCTION, "%s* %s",tab.c_str(),str.c_str());
     118       
     119#ifndef DEBUG
     120        std::cerr << str << std::endl;
     121#endif
     122      }
     123    else
     124      {
     125//      log_printf(NONE,Behavioural,FUNCTION, "%s* Signal \"%s\" is OK.",tab.c_str(),_name.c_str());
     126      }
    61127   
    62128    return _return;
Note: See TracChangeset for help on using the changeset viewer.