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

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

Vhdl_Testbench : Modification du testbench. Maintenant complétement encapsuler dans la classe "Interfaces".
Suppression de la class Vhdl_Testbench dans un avenir proche :D
Suppression du répertoire Configuration.old

File size: 2.6 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_fifo.h"
15#include "Include/ToString.h"
16#include "Include/Debug.h"
17#ifdef VHDL
18#include "Behavioural/include/Vhdl.h"
19#endif
20
21using namespace std;
22
23namespace morpheo              {
24namespace behavioural          {
25
26  class Interfaces
27  {
28    // -----[ fields ]----------------------------------------------------
29  private   : const string               _name;
30  private   : list<Interface_fifo*>    * _list_interface;
31
32    // -----[ methods ]---------------------------------------------------
33  public    :                       Interfaces            (string name);
34  public    :                       Interfaces            (const Interfaces & interfaces);
35  public    :                       ~Interfaces           ();
36
37  public    : Interface_fifo *      set_interface         (string         name        ,
38                                                           direction_t    direction   ,
39                                                           localisation_t localisation);
40  public    : Interface_fifo *      set_interface         (string         name        ,
41                                                           direction_t    direction   ,
42                                                           localisation_t localisation,
43                                                           string         comment     );
44  private   : string                get_interface         (void);
45
46#ifdef VHDL
47  public    : void                  set_port              (Vhdl           * & vhdl          );
48#  ifdef VHDL_TESTBENCH
49  private   : void                  get_signal            (list<string>   * & list_signal   );
50  private   : void                  set_signal            (Vhdl           * & vhdl          );
51#  endif
52#endif
53#ifdef VHDL_TESTBENCH
54  private   : uint32_t              get_cycle             (void);
55  private   : string                get_clock             (void);
56
57  private   : void                  testbench_generate_file (void);
58  public    : void                  testbench             (void);
59  private   : string                testbench_body        (Vhdl           * & vhdl          ,
60                                                           string             counter_name  );
61#endif
62
63  public    : Interface_fifo  *     find_interface        (string name);
64
65  public    : XML                   toXML                 (void);
66#ifdef POSITION
67  public    : XML                   toXML_mapping         (void);
68#endif
69  public    : friend ostream&       operator<<            (ostream& output_stream,
70                                                           morpheo::behavioural::Interfaces & x);
71
72  };
73
74}; // end namespace behavioural         
75}; // end namespace morpheo             
76
77#endif
Note: See TracBrowser for help on using the repository browser.