Ignore:
Timestamp:
Jul 17, 2007, 4:47:56 PM (17 years ago)
Author:
rosiere
Message:

Modification des classes d'encapsulation des interfaces.
Stable sur tous les composants actuels

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Signal.h

    r42 r44  
    2222#include "Behavioural/include/Direction.h"
    2323#include "Behavioural/include/XML.h"
    24 #include "Include/ErrorMorpheo.h"
    25 #include "Include/ToBase2.h"
    26 #include "Include/ToString.h"
    27 #include "Include/Debug.h"
     24#include "Common/include/ErrorMorpheo.h"
     25#include "Common/include/ToBase2.h"
     26#include "Common/include/ToString.h"
     27#include "Common/include/Debug.h"
    2828
    2929using namespace std;
     
    5858  private   : const presence_port_t _presence_port;
    5959
    60   private   : Signal *              _signal       ;
    61   private   : bool                  _is_allocate  ;
    62   private   : void *                _sc_signal    ;
    63   private   : bool                  _is_map       ;
    64   private   : void *                _sc_signal_map;
     60  private   : Signal *              _connect_to_signal;   // the actual implementaion, this signal link with one signal (but if signal is an output, it can be connect with many signal ...)
     61  private   : Signal *              _connect_from_signal; // producter of signal. If NULL, then producteur is the current entity
     62  private   : bool                  _is_allocate  ; // Have allocate a sc_in or sc_out port
     63  private   : void *                _sc_signal    ; // sc_in or sc_out associated at this signal
     64  private   : bool                  _is_map       ;
     65  private   : void *                _sc_signal_map; // sc_out generated this signal
    6566  private   : type_info_t           _type_info    ;
    6667
     
    7980  public    : string            get_name        (void);
    8081  public    : uint32_t          get_size        (void);
    81   public    : Signal *          get_signal_link (void);
     82  public    : bool              get_is_map      (void);
     83  public    : Signal *          get_connect_to_signal (void);
     84  public    : Signal *          get_connect_from_signal (void);
     85  public    : direction_t       get_direction   (void);
    8286
    8387  public    : bool              presence_vhdl      (void);
    8488  public    : bool              presence_testbench (void);
    8589
    86   public    : void              mapping         (Signal * signal);
    87   public    : void              link            (Signal * signal);
     90//   public    : void              mapping         (Signal * signal);
     91  public    : void              link            (Signal * signal  ,
     92                                                 bool     is_port_component);
    8893
    8994#ifdef SYSTEMC         
     
    127132    }
    128133
     134#undef  FUNCTION
     135#define FUNCTION "Signal::alloc"
    129136  public    : template <typename T>
    130               void              alloc           (void * port)
    131     {
     137              void              alloc           (void * sc_signal)
     138    {
     139      log_printf(FUNC,Behavioural,FUNCTION,"Begin");
     140
    132141      if (_type_info != UNKNOW)
    133142        throw (ErrorMorpheo ("Signal \""+_name+"\" : already allocate."));
    134143
    135       _is_allocate = true;
    136       _sc_signal      = port;
    137       _sc_signal_map  = port;
     144      _is_allocate    = true;
     145      _sc_signal      = sc_signal;
     146      _sc_signal_map  = sc_signal;
     147
     148      log_printf(TRACE,Behavioural,FUNCTION, "Allocation of %s - %.8x", _name.c_str(), (uint32_t)(_sc_signal_map));
    138149
    139150      if (typeid(T) == typeid(bool    ))
     
    153164      else
    154165        _type_info = UNKNOW;
     166
     167      log_printf(FUNC,Behavioural,FUNCTION,"End");
    155168    }
    156169#endif
Note: See TracChangeset for help on using the changeset viewer.