source: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface.cpp @ 135

Last change on this file since 135 was 135, checked in by rosiere, 15 years ago

1) Add Vhdl component
2) Inhib VHDL Seltest interface

  • Property svn:keywords set to Id
File size: 2.1 KB
RevLine 
[29]1/*
2 * $Id: Interface.cpp 135 2009-07-17 08:59:05Z rosiere $
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/include/Interface.h"
9
10namespace morpheo              {
11namespace behavioural          {
12
[75]13  Interface::Interface  (std::string                name         
[42]14#ifdef POSITION
15                         ,direction_t           direction   
16                         ,localisation_t        localisation
17#endif
[57]18                         ,Tusage_t             usage
[42]19                         ):
20    _name         (name        )
21#ifdef POSITION
22    ,_direction    (direction   )
23    ,_localisation (localisation)
24#endif
[57]25    ,_usage        (usage)
[29]26  {
[38]27    log_printf(FUNC,Behavioural,"Interface","Begin");
28
[75]29    _list_signal   = new (std::list<Signal*>);
[38]30
[31]31#ifdef POSITION
[42]32    _comment       = "";
[40]33    _is_map        = false;
34    _entity_map    = NULL;
35    _interface_map = NULL;
[31]36#endif
[38]37
[40]38#ifdef VHDL_TESTBENCH
[41]39    _nb_cycle      = 0;
[135]40    _make_testbench= true;
[40]41#endif
42
[38]43    log_printf(FUNC,Behavioural,"Interface","End");
[29]44  };
[31]45
46  Interface::Interface  (const Interface & interface):
[42]47    _name         (interface._name        )
48#ifdef POSITION
49    ,_direction    (interface._direction   )
50    ,_localisation (interface._localisation)
51#endif
[57]52    ,_usage        (interface._usage)
[31]53  {
[38]54    log_printf(FUNC,Behavioural,"Interface (copy)","Begin");
55    _list_signal   = interface._list_signal;
[31]56#ifdef POSITION
[42]57    _comment       = interface._comment    ;
[38]58    _is_map        = interface._is_map     ;
59    _entity_map    = interface._entity_map   ;
60    _interface_map = interface._interface_map;
[31]61#endif
[40]62#ifdef VHDL_TESTBENCH
[41]63    _nb_cycle      = interface._nb_cycle;
[40]64#endif
65
[38]66    log_printf(FUNC,Behavioural,"Interface (copy)","End");
[31]67  };
[29]68 
69  Interface::~Interface ()
70  {
[38]71    log_printf(FUNC,Behavioural,"~Interface","Begin");
72
[112]73    for (std::list<Signal*>::iterator it = _list_signal->begin();
74         it != _list_signal->end();
75         ++it)
[113]76      {
77        if ((_usage & USE_SYSTEMC) and
78            ((*it)->get_direction() == INTERNAL))
79          delete (*it)->get_sc_signal();
80        delete (*it);
81      }
[112]82   
[31]83    delete _list_signal;
[40]84
[38]85    log_printf(FUNC,Behavioural,"~Interface","End");
[29]86  };
87 
88
89}; // end namespace behavioural         
90}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.