| [1] | 1 | /*------------------------------------------------------------\ | 
|---|
|  | 2 | |                                                             | | 
|---|
|  | 3 | | Tool    :                  systemcass                       | | 
|---|
|  | 4 | |                                                             | | 
|---|
|  | 5 | | File    :                 sc_sensitive.h                    | | 
|---|
|  | 6 | |                                                             | | 
|---|
|  | 7 | | Author  :                 Buchmann Richard                  | | 
|---|
|  | 8 | |                                                             | | 
|---|
|  | 9 | | Date    :                   09_07_2004                      | | 
|---|
|  | 10 | |                                                             | | 
|---|
|  | 11 | \------------------------------------------------------------*/ | 
|---|
| [52] | 12 |  | 
|---|
| [1] | 13 | #ifndef __SC_SENSITIVE_H__ | 
|---|
|  | 14 | #define __SC_SENSITIVE_H__ | 
|---|
|  | 15 |  | 
|---|
| [27] | 16 | #include <list> | 
|---|
| [52] | 17 |  | 
|---|
| [27] | 18 | #include "sc_fwd.h" | 
|---|
|  | 19 | //#include "sc_event.h" | 
|---|
|  | 20 | //#include "sc_interface.h" | 
|---|
|  | 21 | //#include "internal_ext.h" | 
|---|
| [1] | 22 |  | 
|---|
|  | 23 | namespace sc_core { | 
|---|
|  | 24 |  | 
|---|
|  | 25 |  | 
|---|
|  | 26 | // ---------------------------------------------------------------------------- | 
|---|
|  | 27 | //  CLASS : sc_sensitive | 
|---|
|  | 28 | // | 
|---|
|  | 29 | //  Static sensitivity class for events. | 
|---|
|  | 30 | // ---------------------------------------------------------------------------- | 
|---|
|  | 31 |  | 
|---|
| [52] | 32 | class sc_sensitive { | 
|---|
|  | 33 | // from SystemC v201 LRM | 
|---|
|  | 34 |  | 
|---|
|  | 35 | public: | 
|---|
|  | 36 | // constructor, destructor | 
|---|
|  | 37 | explicit sc_sensitive (sc_module *) {}; | 
|---|
|  | 38 | ~sc_sensitive() {}; | 
|---|
|  | 39 |  | 
|---|
|  | 40 | public: | 
|---|
|  | 41 | //  specify static sensitivity for processes | 
|---|
|  | 42 | sc_sensitive & operator () (const sc_event &); | 
|---|
|  | 43 | sc_sensitive & operator () (const sc_interface &); | 
|---|
|  | 44 | sc_sensitive & operator () (const sc_port_base &); | 
|---|
|  | 45 | sc_sensitive & operator () (sc_event_finder &); | 
|---|
|  | 46 | sc_sensitive & operator << (const sc_event &); | 
|---|
|  | 47 | sc_sensitive & operator << (const sc_interface &); | 
|---|
|  | 48 | sc_sensitive & operator << (const sc_port_base &); | 
|---|
|  | 49 | sc_sensitive & operator << (sc_event_finder &); | 
|---|
|  | 50 |  | 
|---|
|  | 51 | private: | 
|---|
|  | 52 | // disabled | 
|---|
|  | 53 | sc_sensitive (); | 
|---|
|  | 54 | sc_sensitive (const sc_sensitive &); | 
|---|
| [1] | 55 | sc_sensitive & operator = (const sc_sensitive &); | 
|---|
|  | 56 | }; | 
|---|
|  | 57 |  | 
|---|
|  | 58 | // ---------------------------------------------------------------------------- | 
|---|
|  | 59 | //  CLASS : sc_sensitive_pos | 
|---|
|  | 60 | // | 
|---|
|  | 61 | //  Static sensitivity class for positive edge events. | 
|---|
|  | 62 | // ---------------------------------------------------------------------------- | 
|---|
|  | 63 |  | 
|---|
| [52] | 64 | class sc_sensitive_pos { /* deprecated */ | 
|---|
|  | 65 |  | 
|---|
|  | 66 | public: | 
|---|
|  | 67 | sc_sensitive_pos & operator << (const sc_port_base &); | 
|---|
|  | 68 | sc_sensitive_pos & operator () (const sc_port_base &); | 
|---|
|  | 69 | sc_sensitive_pos & operator << (const sc_interface &); | 
|---|
|  | 70 | sc_sensitive_pos & operator () (const sc_interface &); | 
|---|
| [1] | 71 | }; | 
|---|
|  | 72 |  | 
|---|
|  | 73 | // ---------------------------------------------------------------------------- | 
|---|
|  | 74 | //  CLASS : sc_sensitive_neg | 
|---|
|  | 75 | // | 
|---|
|  | 76 | //  Static sensitivity class for negative edge events. | 
|---|
|  | 77 | // ---------------------------------------------------------------------------- | 
|---|
|  | 78 |  | 
|---|
| [52] | 79 | class sc_sensitive_neg { /* deprecated */ | 
|---|
|  | 80 |  | 
|---|
|  | 81 | public: | 
|---|
|  | 82 | sc_sensitive_neg & operator << (const sc_port_base &); | 
|---|
|  | 83 | sc_sensitive_neg & operator () (const sc_port_base &); | 
|---|
|  | 84 | sc_sensitive_neg & operator << (const sc_interface &); | 
|---|
|  | 85 | sc_sensitive_neg & operator () (const sc_interface &); | 
|---|
| [1] | 86 | }; | 
|---|
|  | 87 |  | 
|---|
| [52] | 88 |  | 
|---|
| [1] | 89 | } // end of namespace sc_core | 
|---|
|  | 90 |  | 
|---|
|  | 91 | #endif /* __SC_SENSITIVE_H__ */ | 
|---|
| [52] | 92 |  | 
|---|
|  | 93 | /* | 
|---|
|  | 94 | # Local Variables: | 
|---|
|  | 95 | # tab-width: 4; | 
|---|
|  | 96 | # c-basic-offset: 4; | 
|---|
|  | 97 | # c-file-offsets:((innamespace . 0)(inline-open . 0)); | 
|---|
|  | 98 | # indent-tabs-mode: nil; | 
|---|
|  | 99 | # End: | 
|---|
|  | 100 | # | 
|---|
|  | 101 | # vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4 | 
|---|
|  | 102 | */ | 
|---|
|  | 103 |  | 
|---|