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

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

1) Add modelsim simulation systemC
2) Modelsim cosimulation systemC / VHDL is not finish !!!! (cf execute_queue and write_unit)
3) Add multi architecture
5) Add template for comparator, multiplier and divider
6) Change Message
Warning) Various test macro have change, many selftest can't compile

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