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

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

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/src
Files:
23 added
14 edited

Legend:

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

    r29 r31  
    1818    _localisation (localisation)
    1919  {
     20    _list_signal = new list<Signal>;
     21#ifdef POSITION
     22    _is_map      = false;
     23#endif
     24  };
     25
     26  Interface::Interface  (const Interface & interface):
     27    _name         (interface._name        ),
     28    _direction    (interface._direction   ),
     29    _localisation (interface._localisation)
     30  {
     31    _comment     = interface._comment    ;
     32    _list_signal = interface._list_signal;
     33#ifdef POSITION
     34    _is_map      = interface._is_map     ;
     35#endif
    2036  };
    2137 
    2238  Interface::~Interface ()
    2339  {
     40    delete _list_signal;
    2441  };
    2542 
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_get_signal.cpp

    r29 r31  
    1919
    2020
    21     list<Signal>::iterator i     = _list_signal.begin();
    22     bool                   empty = _list_signal.empty();
     21    list<Signal>::iterator i     = _list_signal->begin();
     22    bool                   empty = _list_signal->empty();
    2323
    2424    string                 tab   = string(depth,'\t');
     
    2828      {
    2929        // First
    30         if (i != _list_signal.end())
     30        if (i != _list_signal->end())
    3131          {
    3232            text << tab << *i;
     
    3434          }
    3535       
    36         while (i != _list_signal.end())
     36        while (i != _list_signal->end())
    3737          {
    3838            text << separator;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_set_port.cpp

    r29 r31  
    1515  void Interface::set_port (Vhdl * & vhdl)
    1616  {
    17     if (not _list_signal.empty())
     17    if (not _list_signal->empty())
    1818      {
    19         list<Signal>::iterator i     = _list_signal.begin();
     19        list<Signal>::iterator i     = _list_signal->begin();
    2020       
    21         while (i != _list_signal.end())
     21        while (i != _list_signal->end())
    2222          {
    2323            presence_port_t p = (*i)._presence_port;
     
    3232  void Interface::set_port (Vhdl_Testbench * & vhdl_testbench)
    3333  {
    34     if (not _list_signal.empty())
     34    if (not _list_signal->empty())
    3535      {
    36         list<Signal>::iterator i     = _list_signal.begin();
     36        list<Signal>::iterator i     = _list_signal->begin();
    3737       
    38         while (i != _list_signal.end())
     38        while (i != _list_signal->end())
    3939          {
    4040            presence_port_t p = (*i)._presence_port;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_set_signal.cpp

    r29 r31  
    1212namespace behavioural          {
    1313
    14   string Interface::set_signal (Signal signal)
    15   {
    16     return set_signal(signal._name     ,
    17                       signal._direction,
    18                       signal._size     );
    19    
    20   };
     14//   string Interface::set_signal (Signal signal)
     15//   {
     16//     return set_signal(signal._name     ,
     17//                    signal._direction,
     18//                    signal._size     );
     19//   };
    2120
    22   string Interface::set_signal (string          name     ,
    23                                 direction_t     direction,
    24                                 uint32_t        size     ,
    25                                 presence_port_t presence_port)
     21  Signal * Interface::set_signal (string          name     ,
     22                                  direction_t     direction,
     23                                  uint32_t        size     ,
     24                                  presence_port_t presence_port)
    2625  {
    2726    string str_direction =  toString(direction);
     
    3938      signame += "_"+str_signal;
    4039   
    41     _list_signal.push_back (Signal (signame      ,
    42                                     direction    ,
    43                                     size         ,
    44                                     presence_port));
     40    Signal * sig = new Signal (signame      ,
     41                               direction    ,
     42                               size         ,
     43                               presence_port);
     44    _list_signal->push_back (*sig);
    4545
    46     return signame;
     46    return sig;
    4747  };
    4848
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_toXML.cpp

    r29 r31  
    77
    88#include "Behavioural/include/Interface.h"
     9#include "Behavioural/include/Entity.h"
    910
    1011namespace morpheo              {
     
    1516    XML xml ("interface");
    1617   
    17     xml.balise_open_begin ("interface");
     18    xml.balise_open_begin ("port");
    1819    xml.  attribut        ("name"         ,_name                 );
    1920    xml.  attribut        ("direction"   ,toString(_direction   ));
     
    2223    xml.  text            (get_comment());
    2324
    24     if (_list_signal.empty()== false)
     25    if (_list_signal->empty()== false)
    2526      {
    26         list<Signal>::iterator i     = _list_signal.begin();
     27        list<Signal>::iterator i     = _list_signal->begin();
    2728
    28         while (i != _list_signal.end())
     29        while (i != _list_signal->end())
    2930          {
    3031            xml.  insert_XML ((*i).toXML());
     
    3839  };
    3940
     41#ifdef POSITION
     42  XML Interface::toXML_mapping (void)
     43  {
     44    if (_is_map != true)
     45      throw (ErrorMorpheo ("Interface \""+_name+"\" is never mapped"));
     46
     47    XML xml ("interface");
     48   
     49    xml.singleton_begin ("port_map");
     50    xml.  attribut      ("name"     ,_name               );
     51    xml.  attribut      ("component",(static_cast<Entity    *>(_entity_map   ))->_name);
     52    xml.  attribut      ("port"     ,(static_cast<Interface *>(_interface_map))->_name);
     53    xml.singleton_end   ();
     54     
     55    return xml;
     56  };
     57#endif
    4058}; // end namespace behavioural         
    4159}; // end namespace morpheo             
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces.cpp

    r29 r31  
    1313  Interfaces::Interfaces  (void)
    1414  {
     15    _list_interface = new list<Interface>;
     16  };
     17
     18  Interfaces::Interfaces  (const Interfaces & interfaces)
     19  {
     20    _list_interface = interfaces._list_interface;
    1521  };
    1622 
    1723  Interfaces::~Interfaces ()
    1824  {
     25    delete _list_interface;
    1926  };
    2027 
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_get_interface.cpp

    r29 r31  
    1515  {
    1616    uint32_t               depth          = 0;
    17     string                 separator      = ",\n";
     17    string                 separator      = "\n";
    1818    bool                   last_separator = false;
    1919
    20 
    21     list<Interface>::iterator i  = _list_interface.begin();
    22     bool                   empty = _list_interface.empty();
     20    list<Interface>::iterator i  = _list_interface->begin();
     21    bool                   empty = _list_interface->empty();
    2322
    2423    string                 tab   = string(depth,'\t');
     
    2827      {
    2928        // First
    30         if (i != _list_interface.end())
     29        if (i != _list_interface->end())
    3130          {
    3231            text << tab << *i;
     
    3433          }
    3534       
    36         while (i != _list_interface.end())
     35        while (i != _list_interface->end())
    3736          {
    3837            text << separator;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_print.cpp

    r29 r31  
    1212namespace behavioural          {
    1313
    14   ostream& operator<< (ostream& output_stream,
     14  ostream& operator<< (ostream& output_stream ,
    1515                       morpheo::behavioural::Interfaces & x)
    1616  {
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_set_interface.cpp

    r29 r31  
    1111namespace behavioural          {
    1212
    13   void Interfaces::set_interface (Interface interface)
     13  Interface * Interfaces::set_interface (string         name        ,
     14                                         direction_t    direction   ,
     15                                         localisation_t localisation)
    1416  {
    15     _list_interface.push_back (interface);
     17    Interface * interface = new Interface (name, direction, localisation);
     18   
     19    _list_interface->push_back (*interface);
     20
     21    return interface;
     22  };
     23
     24  Interface * Interfaces::set_interface (string         name        ,
     25                                         direction_t    direction   ,
     26                                         localisation_t localisation,
     27                                         string         comment     )
     28  {
     29    Interface * interface = set_interface(name, direction, localisation);
     30   
     31    interface->set_comment (comment);
     32
     33    return interface;
    1634  };
    1735
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_set_port.cpp

    r29 r31  
    1515  void Interfaces::set_port (Vhdl * & vhdl)
    1616  {
    17     if (not _list_interface.empty())
     17    if (not _list_interface->empty())
    1818      {
    19         list<Interface>::iterator i     = _list_interface.begin();
     19        list<Interface>::iterator i     = _list_interface->begin();
    2020       
    21         while (i != _list_interface.end())
     21        while (i != _list_interface->end())
    2222          {
    2323            (*i).set_port (vhdl);
     
    2929  void Interfaces::set_port (Vhdl_Testbench * & vhdl_testbench)
    3030  {
    31     if (not _list_interface.empty())
     31    if (not _list_interface->empty())
    3232      {
    33         list<Interface>::iterator i     = _list_interface.begin();
     33        list<Interface>::iterator i     = _list_interface->begin();
    3434       
    35         while (i != _list_interface.end())
     35        while (i != _list_interface->end())
    3636          {
    3737            (*i).set_port (vhdl_testbench);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_toXML.cpp

    r29 r31  
    1515    XML xml ("interfaces");
    1616   
    17 //     xml.balise_open ("interfaces");
     17    if (_list_interface->empty()== false)
     18      {
     19        list<Interface>::iterator i     = _list_interface->begin();
    1820
    19     if (_list_interface.empty()== false)
    20       {
    21         list<Interface>::iterator i     = _list_interface.begin();
    22 
    23         while (i != _list_interface.end())
     21        while (i != _list_interface->end())
    2422          {
    2523            xml.  insert_XML ((*i).toXML());
     
    2725          }
    2826      }
    29 
    30 //     xml.balise_close      ();
    3127     
    3228    return xml;
    3329  };
    3430
     31#ifdef POSITION
     32  XML Interfaces::toXML_mapping (void)
     33  {
     34    XML xml ("interfaces");
     35   
     36    if (_list_interface->empty()== false)
     37      {
     38        list<Interface>::iterator i     = _list_interface->begin();
     39
     40        while (i != _list_interface->end())
     41          {
     42            xml.  insert_XML ((*i).toXML_mapping());
     43            ++i;
     44          }
     45      }
     46     
     47    return xml;
     48  };
     49#endif
    3550}; // end namespace behavioural         
    3651}; // end namespace morpheo             
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal.cpp

    r29 r31  
    2121  {
    2222  };
    23  
     23
     24  Signal::Signal  (const Signal & signal):
     25    _name          (signal._name         ),
     26    _direction     (signal._direction    ),
     27    _size          (signal._size         ),
     28    _presence_port (signal._presence_port)
     29  {
     30  };
     31
    2432  Signal::~Signal ()
    2533  {
    2634  };
    27  
    2835
    2936}; // end namespace behavioural         
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML.cpp

    r3 r31  
    1414    _name (name)
    1515  {
     16    _filename_extension="xml";
    1617  };
    1718
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_generate_file.cpp

    r3 r31  
    1818
    1919    string name     = _name;
    20     string filename =  name + ".xml";
     20    string filename =  name + "." + _filename_extension;
    2121
    2222    cout << "Generate file \""<< filename << "\"" << endl;
Note: See TracChangeset for help on using the changeset viewer.