source: sources/src/sc_sensitive.h @ 14

Last change on this file since 14 was 1, checked in by buchmann, 17 years ago

Initial import from CVS repository

File size: 3.4 KB
Line 
1/*------------------------------------------------------------\
2|                                                             |
3| Tool    :                  systemcass                       |
4|                                                             |
5| File    :                 sc_sensitive.h                    |
6|                                                             |
7| Author  :                 Buchmann Richard                  |
8|                                                             |
9| Date    :                   09_07_2004                      |
10|                                                             |
11\------------------------------------------------------------*/
12#ifndef __SC_SENSITIVE_H__
13#define __SC_SENSITIVE_H__
14
15#include<list>
16#include"sc_fwd.h"
17//#include"sc_event.h"
18//#include"sc_interface.h"
19//#include"internal_ext.h"
20
21namespace sc_core {
22
23// ----------------------------------------------------------------------------
24//  CLASS : sensitivity_t
25//
26//  Static events.
27// ----------------------------------------------------------------------------
28
29  /*
30struct sensitivity_t {
31  sc_port_base *port;
32  typedef enum { POS, NEG, VAL } flag_t;
33public:
34  flag_t flag;
35  bool pos () const ;
36  sensitivity_t (sc_port_base &port_, flag_t flag_);
37  friend std::ostream& operator << (std::ostream &, const sensitivity_t &);
38private:
39  // disabled
40  sensitivity_t ();
41};
42*/
43
44// ----------------------------------------------------------------------------
45//  CLASS : sc_sensitive
46//
47//  Static sensitivity class for events.
48// ----------------------------------------------------------------------------
49
50class sc_sensitive // from SystemC v201 LRM
51{
52public:
53  // constructor, destructor
54  explicit sc_sensitive (sc_module *) {};
55  ~sc_sensitive () {};
56public:
57  //  specify static sensitivity for processes
58  sc_sensitive & operator () (const sc_event &);
59  sc_sensitive & operator () (const sc_interface &);
60  sc_sensitive & operator () (const sc_port_base &);
61  sc_sensitive & operator () (sc_event_finder &);
62  sc_sensitive & operator << (const sc_event &);
63  sc_sensitive & operator << (const sc_interface &);
64  sc_sensitive & operator << (const sc_port_base &);
65  sc_sensitive & operator << (sc_event_finder &);
66private:
67  // disabled
68  sc_sensitive ();
69  sc_sensitive (const sc_sensitive &);
70    sc_sensitive & operator = (const sc_sensitive &);
71};
72
73// ----------------------------------------------------------------------------
74//  CLASS : sc_sensitive_pos
75//
76//  Static sensitivity class for positive edge events.
77// ----------------------------------------------------------------------------
78
79class sc_sensitive_pos /* deprecated */
80{
81public:
82 
83  sc_sensitive_pos& operator << (const sc_port_base&);
84  sc_sensitive_pos& operator () (const sc_port_base&);
85  sc_sensitive_pos& operator << (const sc_interface &);
86  sc_sensitive_pos& operator () (const sc_interface &);
87};
88
89// ----------------------------------------------------------------------------
90//  CLASS : sc_sensitive_neg
91//
92//  Static sensitivity class for negative edge events.
93// ----------------------------------------------------------------------------
94
95class sc_sensitive_neg /* deprecated */
96{
97public:
98 
99  sc_sensitive_neg& operator << (const sc_port_base&);
100  sc_sensitive_neg& operator () (const sc_port_base&);
101  sc_sensitive_neg& operator << (const sc_interface &);
102  sc_sensitive_neg& operator () (const sc_interface &);
103};
104
105} // end of namespace sc_core
106
107#endif /* __SC_SENSITIVE_H__ */
Note: See TracBrowser for help on using the repository browser.