Ignore:
Timestamp:
May 28, 2007, 10:38:18 PM (18 years ago)
Author:
rosiere
Message:

Class Position qui encapsule la génération des fichiers de positions

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/include
Files:
3 added
6 edited

Legend:

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

    r25 r31  
    1 #ifdef VHDL
    2 
    31#ifndef morpheo_behavioural_Direction_h
    42#define morpheo_behavioural_Direction_h
     
    1311}; // end namespace behavioural         
    1412 
    15 template<>          inline std::string toString<morpheo::behavioural::direction_t>(const morpheo::behavioural::direction_t& x)
    16 {
    17   switch (x)
    18     {
    19     case morpheo::behavioural::IN    : return "in"    ; break;
    20     case morpheo::behavioural::OUT   : return "out"   ; break;
    21     case morpheo::behavioural::INOUT : return "inout" ; break;
    22     default    : return ""      ; break;
    23     }
    24 }
    25 
     13  template<> inline std::string toString<morpheo::behavioural::direction_t>(const morpheo::behavioural::direction_t& x)
     14  {
     15    switch (x)
     16      {
     17      case morpheo::behavioural::IN    : return "in"    ; break;
     18      case morpheo::behavioural::OUT   : return "out"   ; break;
     19      case morpheo::behavioural::INOUT : return "inout" ; break;
     20      default    : return ""      ; break;
     21      }
     22  }
     23 
    2624}; // end namespace morpheo             
    2725
    2826#endif
    29 #endif
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interface.h

    r29 r31  
    2626#endif
    2727#include "Include/ToString.h"
     28#include "Include/ErrorMorpheo.h"
    2829#include "Include/Debug.h"
    2930
     
    3536  class Interface
    3637  {
     38    friend class Interfaces;
     39
    3740    // -----[ fields ]----------------------------------------------------
    3841  private   : const string          _name         ;
     
    4043  private   : const localisation_t  _localisation ;
    4144  private   :       string          _comment      ;
    42   private   : list<Signal>          _list_signal  ;
     45
     46#ifdef POSITION
     47  private   :       bool            _is_map       ;
     48  private   :       void          * _entity_map   ; // Entity -> erreur cyclique
     49  private   :       void          * _interface_map; // pour être homogène avec _entity_map
     50#endif
     51  private   : list<Signal>        * _list_signal  ;
    4352
    4453    // -----[ methods ]---------------------------------------------------
     
    4756                                                          localisation_t localisation);
    4857
     58  public    :                       Interface            (const Interface    & interface);
    4959  public    :                       ~Interface           ();
    5060
    5161  public    : void                  set_comment          (string comment);
    52   public    : string                get_comment          (void          );
     62  private   : string                get_comment          (void          );
    5363
    54   public    : string                set_signal           (Signal          signal   );
    55   public    : string                set_signal           (string          name     ,
     64  private   : string                get_signal           (void);
     65  public    : Signal *              set_signal           (string          name     ,
    5666                                                          direction_t     direction,
    5767                                                          uint32_t        size     ,
     
    6373                                                          presence_port_t presence_port=PORT_VHDL_YES_TESTBENCH_YES)
    6474    {
    65       string str = set_signal (name, IN , size, presence_port);
    66       sc_in_clk * signal = new sc_in_clk (str.c_str());
     75      Signal * sig = set_signal (name, IN , size, presence_port);
     76      sc_in_clk * signal = new sc_in_clk (sig->_name.c_str());
    6777      return signal;
    6878    };
     
    7383                                                         presence_port_t presence_port=PORT_VHDL_YES_TESTBENCH_YES)
    7484    {
    75       string str = set_signal (name, IN , size, presence_port);
    76       sc_in <T> * signal = new sc_in <T> (str.c_str());
     85      Signal * sig = set_signal (name, IN , size, presence_port);
     86      sc_in <T> * signal = new sc_in <T> (sig->_name.c_str());
    7787      return signal;
    7888    };
     
    8393                                                         presence_port_t presence_port=PORT_VHDL_YES_TESTBENCH_YES)
    8494    {
    85       string str = set_signal (name, OUT , size, presence_port);
    86       sc_out <T> * signal = new sc_out <T> (str.c_str());
     95      Signal * sig = set_signal (name, OUT , size, presence_port);
     96      sc_out <T> * signal = new sc_out <T> (sig->_name.c_str());
    8797      return signal;
    8898    };
    8999#endif
    90 
    91   public    : string                get_signal           (void);
    92100
    93101#ifdef VHDL
     
    98106#endif
    99107
     108#ifdef POSITION
     109  public    : void                  port_map             (void * entity,
     110                                                          void * interface);
     111#endif
     112
    100113  public    : XML                   toXML                (void);
    101 
     114#ifdef POSITION
     115  public    : XML                   toXML_mapping        (void);
     116#endif
    102117  public    : friend ostream&       operator<<           (ostream& output_stream,
    103118                                                          morpheo::behavioural::Interface & x);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interfaces.h

    r29 r31  
    3030  {
    3131    // -----[ fields ]----------------------------------------------------
    32   private   : list<Interface>       _list_interface;
     32  private   : list<Interface>     * _list_interface;
    3333
    3434    // -----[ methods ]---------------------------------------------------
    3535  public    :                       Interfaces            (void);
    36 
     36  public    :                       Interfaces            (const Interfaces & interfaces);
    3737  public    :                       ~Interfaces           ();
    3838
    39   public    : void                  set_interface         (Interface interface);
    40   public    : string                get_interface         (void);
     39  public    : Interface *           set_interface         (string         name        ,
     40                                                           direction_t    direction   ,
     41                                                           localisation_t localisation);
     42  public    : Interface *           set_interface         (string         name        ,
     43                                                           direction_t    direction   ,
     44                                                           localisation_t localisation,
     45                                                           string         comment     );
     46  private   : string                get_interface         (void);
    4147
    4248#ifdef VHDL
     
    4753#endif
    4854
     55  public    : Interface  *          find_interface        (string name);
     56
    4957  public    : XML                   toXML                 (void);
    50 
     58#ifdef POSITION
     59  public    : XML                   toXML_mapping         (void);
     60#endif
    5161  public    : friend ostream&       operator<<            (ostream& output_stream,
    5262                                                           morpheo::behavioural::Interfaces & x);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Localisation.h

    r29 r31  
    1 #ifdef VHDL
    2 
    31#ifndef morpheo_behavioural_Localisation_h
    42#define morpheo_behavioural_Localisation_h
     
    2826
    2927#endif
    30 #endif
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Signal.h

    r29 r31  
    2828  class Signal
    2929  {
     30    friend class Interface;
     31
    3032    // -----[ fields ]----------------------------------------------------
    31   public    : const string          _name         ;
    32   public    : const direction_t     _direction    ;
    33   public    : const uint32_t        _size         ;
    34   public    : const presence_port_t _presence_port;
     33  private   : const string          _name         ;
     34  private   : const direction_t     _direction    ;
     35  private   : const uint32_t        _size         ;
     36  private   : const presence_port_t _presence_port;
    3537
    3638    // -----[ methods ]---------------------------------------------------
     
    3941                                                 uint32_t        size          ,
    4042                                                 presence_port_t presence_port = PORT_VHDL_YES_TESTBENCH_YES);
     43  public    :                   Signal          (const Signal &);
    4144  public    :                   ~Signal         ();
    4245
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/XML.h

    r29 r31  
    2424  {
    2525    // -----[ fields ]----------------------------------------------------
    26   private  : const string     _name            ;
    27   private  : string           _body            ;
    28   private  : list<string>     _list_balise_name;
     26  private  : const string     _name              ;
     27  private  : string           _filename_extension;
     28  private  : string           _body              ;
     29  private  : list<string>     _list_balise_name  ;
    2930
    3031    // -----[ methods ]---------------------------------------------------
     
    4243  public   : bool             insert_XML          (XML    xml );
    4344
     45  public   : void             filename_extension  (string extension);
    4446  public   : void             generate_file       (void);
    4547  public   : void             generate_file       (string encoding);
Note: See TracChangeset for help on using the changeset viewer.