source: trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interfaces.h @ 38

Last change on this file since 38 was 38, checked in by rosiere, 17 years ago

Interface et vhdl_testbench : l'appel aux fonction add_input et add_ouput est maintenant réalisé par la classe Interface (et autre).

2 remarques :

  • tester avec des sous composants (en particulier les sorties d'un est directement relié au sortie d'un autre)
  • Signal_testbench.cpp -> l'optimisé (par exemple pointeur de fonction afin d'éviter le test et le switch)
File size: 2.2 KB
Line 
1#ifndef morpheo_behavioural_Interfaces_h
2#define morpheo_behavioural_Interfaces_h
3
4/*
5 * $Id$
6 *
7 * [ Description ]
8 *
9 */
10
11#include <stdint.h>
12#include <iostream>
13#include <list>
14#include "Behavioural/include/Interface.h"
15#include "Include/ToString.h"
16#include "Include/Debug.h"
17#ifdef VHDL
18#include "Behavioural/include/Vhdl.h"
19#endif
20#ifdef VHDL_TESTBENCH
21#include "Behavioural/include/Vhdl_Testbench.h"
22#endif
23
24using namespace std;
25
26namespace morpheo              {
27namespace behavioural          {
28
29  class Interfaces
30  {
31    // -----[ fields ]----------------------------------------------------
32  private   : list<Interface*>    * _list_interface;
33
34    // -----[ methods ]---------------------------------------------------
35  public    :                       Interfaces            (void);
36  public    :                       Interfaces            (const Interfaces & interfaces);
37  public    :                       ~Interfaces           ();
38
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);
47
48#ifdef VHDL
49  public    : void                  set_port              (Vhdl           * & vhdl          );
50#endif
51#ifdef VHDL_TESTBENCH
52  public    : void                  set_port              (Vhdl_Testbench * & vhdl_testbench);
53#endif
54
55  public    : Interface  *          find_interface        (string name);
56
57#ifdef VHDL_TESTBENCH
58  public    : void                  testbench             (Vhdl_Testbench * & vhdl_testbench);
59#endif
60
61  public    : XML                   toXML                 (void);
62#ifdef POSITION
63  public    : XML                   toXML_mapping         (void);
64#endif
65  public    : friend ostream&       operator<<            (ostream& output_stream,
66                                                           morpheo::behavioural::Interfaces & x);
67
68  };
69
70}; // end namespace behavioural         
71}; // end namespace morpheo             
72
73#endif
Note: See TracBrowser for help on using the repository browser.