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/include/Component.h

    r75 r78  
    2525namespace behavioural          {
    2626
     27#ifdef DEBUG
     28# define PORT_MAP(x,a,b,c,d)                                            \
     29  do                                                                    \
     30    {                                                                   \
     31      try                                                               \
     32        {                                                               \
     33          x->port_map(a,b,c,d);                                         \
     34        }                                                               \
     35      catch (morpheo::ErrorMorpheo & error)                             \
     36        {                                                               \
     37          throw (ErrorMorpheo ("In file "+toString(__FILE__)+", at line "+toString(__LINE__)+"\n"+error.what ())); \
     38        }                                                               \
     39    }                                                                   \
     40  while (0)
     41#else
     42# define PORT_MAP(x,a,b,c,d)                                            \
     43  do                                                                    \
     44    {                                                                   \
     45      x->port_map(a,b,c,d);                                             \
     46    }                                                                   \
     47  while (0)
     48#endif
     49
     50#define COMPONENT_MAP(x,a,b,c,d)                                        \
     51  do                                                                    \
     52    {                                                                   \
     53      PORT_MAP(x,a,b,c,d);                                              \
     54      PORT_MAP(x,c,d,a,b);                                              \
     55    }                                                                   \
     56  while (0)
     57 
     58
    2759  typedef uint8_t Tinstance_t;
    2860
     
    3567  typedef struct
    3668  {
    37     public : Tinstance_t _instance;
    38     public : Entity    * _entity  ;
     69//public : Component * _component;
     70  public : Entity    * _entity   ;
     71  public : Tinstance_t _instance ;
    3972  } Tcomponent_t;   
    4073 
     
    4275  {
    4376    // -----[ fields ]----------------------------------------------------
    44   private   : const Tusage_t        _usage;
    45   private   : Entity              * _entity        ;
     77  private   : const Tusage_t             _usage;
     78  private   : Entity                   * _entity        ;
    4679  private   : std::list<Tcomponent_t*> * _list_component;
    4780
     
    5790#endif
    5891                                                       );
    59   private   : std::string                get_entity        (void);
     92  private   : std::string           get_entity        (void);
    6093
    6194  public    : void                  set_component     (Component * component
     
    69102                                                       );
    70103
    71   private   : std::string                get_component     (void);
     104  private   : std::string           get_component     (void);
    72105
    73106  private   : Entity *              find_entity       (std::string name);
     
    87120                                                       std::string component_dest,
    88121                                                       std::string port_dest    );
    89   public    : void                  port_map          (std::string component_src ,
    90                                                        std::string port_src      );
    91122
    92   public    : bool                  test_map          (void);
     123  public    : bool                  test_map          (bool recursive=true);
     124  private   : bool                  test_map          (uint32_t depth, bool recursive);
    93125
    94126#ifdef POSITION
     
    102134  public    : void                  generate_file     (void);
    103135#endif   
    104   public    : friend std::ostream&       operator<<        (std::ostream& output_stream,
    105                                                             morpheo::behavioural::Component & x);
     136  public    : friend std::ostream&  operator<<        (std::ostream& output_stream,
     137                                                       morpheo::behavioural::Component & x);
    106138  };
    107139
Note: See TracChangeset for help on using the changeset viewer.