SystemC 3.0.0
Accellera SystemC proof-of-concept library
sc_wait.h
Go to the documentation of this file.
1/*****************************************************************************
2
3 Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
4 more contributor license agreements. See the NOTICE file distributed
5 with this work for additional information regarding copyright ownership.
6 Accellera licenses this file to you under the Apache License, Version 2.0
7 (the "License"); you may not use this file except in compliance with the
8 License. You may obtain a copy of the License at
9
10 http://www.apache.org/licenses/LICENSE-2.0
11
12 Unless required by applicable law or agreed to in writing, software
13 distributed under the License is distributed on an "AS IS" BASIS,
14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
15 implied. See the License for the specific language governing
16 permissions and limitations under the License.
17
18 *****************************************************************************/
19
20/*****************************************************************************
21
22 sc_wait.h -- Wait() and related functions.
23
24 Original Author: Stan Y. Liao, Synopsys, Inc.
25 Martin Janssen, Synopsys, Inc.
26
27 CHANGE LOG AT THE END OF THE FILE
28 *****************************************************************************/
29
30#ifndef SC_WAIT_H
31#define SC_WAIT_H
32
33
35
36namespace sc_core {
37
38class sc_event;
39class sc_event_and_list;
40class sc_event_or_list;
41class sc_simcontext;
42
44
45// static sensitivity for SC_THREADs and SC_CTHREADs
46
47extern
48SC_API void
50
51
52// dynamic sensitivity for SC_THREADs and SC_CTHREADs
53
54extern
55SC_API void
56wait( const sc_event&,
58
59extern
60SC_API void
61wait( const sc_event_or_list&,
63
64extern
65SC_API void
66wait( const sc_event_and_list&,
68
69extern
70SC_API void
71wait( const sc_time&,
73
74inline
75SC_API void
76wait( double v, sc_time_unit tu,
78{
79 wait( sc_time( v, tu, simc ), simc );
80}
81
82extern
83SC_API void
84wait( const sc_time&,
85 const sc_event&,
87
88inline
89SC_API void
90wait( double v, sc_time_unit tu,
91 const sc_event& e,
93{
94 wait( sc_time( v, tu, simc ), e, simc );
95}
96
97extern
98SC_API void
99wait( const sc_time&,
100 const sc_event_or_list&,
102
103inline
104SC_API void
105wait( double v, sc_time_unit tu,
106 const sc_event_or_list& el,
108{
109 wait( sc_time( v, tu, simc ), el, simc );
110}
111
112extern
113SC_API void
114wait( const sc_time&,
115 const sc_event_and_list&,
117
118inline
119SC_API void
120wait( double v, sc_time_unit tu,
121 const sc_event_and_list& el,
123{
124 wait( sc_time( v, tu, simc ), el, simc );
125}
126
127
128// static sensitivity for SC_METHODs
129
130extern
131SC_API void
133
134
135// dynamic sensitivity for SC_METHODs
136
137extern
138SC_API void
139next_trigger( const sc_event&,
141
142extern
143SC_API void
146
147extern
148SC_API void
151
152extern
153SC_API void
154next_trigger( const sc_time&,
156
157inline
158SC_API void
161{
162 next_trigger( sc_time( v, tu, simc ), simc );
163}
164
165extern
166SC_API void
167next_trigger( const sc_time&,
168 const sc_event&,
170
171inline
172SC_API void
174 const sc_event& e,
176{
177 next_trigger( sc_time( v, tu, simc ), e, simc );
178}
179
180extern
181SC_API void
182next_trigger( const sc_time&,
183 const sc_event_or_list&,
185
186inline
187SC_API void
189 const sc_event_or_list& el,
191{
192 next_trigger( sc_time( v, tu, simc ), el, simc );
193}
194
195extern
196SC_API void
197next_trigger( const sc_time&,
198 const sc_event_and_list&,
200
201inline
202void
204 const sc_event_and_list& el,
206{
207 next_trigger( sc_time( v, tu, simc ), el, simc );
208}
209
210
211// for SC_METHODs and SC_THREADs and SC_CTHREADs
212
213extern
214SC_API bool
216
217// misc.
218
219extern
220SC_API void
221sc_set_location( const char*,
222 int,
224
225} // namespace sc_core
226
227/*
228$Log: sc_wait.h,v $
229Revision 1.6 2011/08/26 20:46:11 acg
230 Andy Goodrich: moved the modification log to the end of the file to
231 eliminate source line number skew when check-ins are done.
232
233Revision 1.5 2011/02/18 20:27:14 acg
234 Andy Goodrich: Updated Copyrights.
235
236Revision 1.4 2011/02/13 21:47:38 acg
237 Andy Goodrich: update copyright notice.
238
239Revision 1.3 2011/01/18 20:10:45 acg
240 Andy Goodrich: changes for IEEE1666_2011 semantics.
241
242Revision 1.2 2008/05/22 17:06:27 acg
243 Andy Goodrich: updated copyright notice to include 2008.
244
245Revision 1.1.1.1 2006/12/15 20:20:05 acg
246SystemC 2.3
247
248Revision 1.2 2006/01/03 23:18:45 acg
249Changed copyright to include 2006.
250
251Revision 1.1.1.1 2005/12/19 23:16:44 acg
252First check in of SystemC 2.1 into its own archive.
253
254Revision 1.10 2005/07/30 03:45:05 acg
255Changes from 2.1, including changes for sc_process_handle.
256
257Revision 1.9 2005/04/04 00:16:08 acg
258Changes for directory name change to sys from systemc.
259Changes for sc_string going to std::string.
260Changes for sc_pvector going to std::vector.
261Changes for reference pools for bit and part selections.
262Changes for const sc_concatref support.
263
264Revision 1.6 2004/10/13 18:13:22 acg
265sc_ver.h - updated version number. sc_wait.h remove inclusion of
266sysc/kernel/sc_event.h because it is not necessary.
267
268Revision 1.5 2004/09/27 20:49:10 acg
269Andy Goodrich, Forte Design Systems, Inc.
270 - Added a $Log comment so that CVS checkin comments appear in the
271 checkout source.
272
273*/
274
275#endif
276
277// Taf!
#define SC_API
Definition: sc_cmnhdr.h:148
SC_API bool timed_out(sc_simcontext *)
class SC_API sc_simcontext
Definition: sc_object.h:50
class SC_API sc_event
Definition: sc_interface.h:36
SC_API void wait(int, sc_simcontext *)
SC_API void sc_set_location(const char *, int, sc_simcontext *=sc_get_curr_simcontext())
SC_API void next_trigger(sc_simcontext *)
sc_simcontext * sc_get_curr_simcontext()
sc_time_unit
Definition: sc_time.h:82