00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef SC_WAIT_H
00029 #define SC_WAIT_H
00030
00031
00032 #include "sysc/kernel/sc_simcontext.h"
00033
00034 namespace sc_core {
00035
00036 class sc_event;
00037 class sc_event_and_list;
00038 class sc_event_or_list;
00039 class sc_simcontext;
00040
00041 extern sc_simcontext* sc_get_curr_simcontext();
00042
00043
00044
00049
00050 extern
00051 void
00052 wait( int,
00053 sc_simcontext* = sc_get_curr_simcontext() );
00054
00055
00056
00057
00062
00063 extern
00064 void
00065 wait( const sc_event&,
00066 int,
00067 sc_simcontext* = sc_get_curr_simcontext() );
00068
00073
00074 extern
00075 void
00076 wait( const sc_event_or_list&,
00077 int,
00078 sc_simcontext* = sc_get_curr_simcontext() );
00079
00084
00085 extern
00086 void
00087 wait( const sc_event_and_list&,
00088 int,
00089 sc_simcontext* = sc_get_curr_simcontext() );
00090
00095
00096 extern
00097 void
00098 wait( const sc_time&,
00099 int,
00100 sc_simcontext* = sc_get_curr_simcontext() );
00101
00106
00107 inline
00108 void
00109 wait( double v, sc_time_unit tu,
00110 int seg_id,
00111 sc_simcontext* simc = sc_get_curr_simcontext() )
00112 {
00113 wait( sc_time( v, tu, simc ), seg_id, simc );
00114 }
00115
00120
00121 extern
00122 void
00123 wait( const sc_time&,
00124 const sc_event&,
00125 int,
00126 sc_simcontext* = sc_get_curr_simcontext() );
00127
00132
00133 inline
00134 void
00135 wait( double v, sc_time_unit tu,
00136 const sc_event& e,
00137 int seg_id,
00138 sc_simcontext* simc = sc_get_curr_simcontext() )
00139 {
00140 wait( sc_time( v, tu, simc ), e, seg_id, simc );
00141 }
00142
00147
00148 extern
00149 void
00150 wait( const sc_time&,
00151 const sc_event_or_list&,
00152 int,
00153 sc_simcontext* = sc_get_curr_simcontext() );
00154
00159
00160 inline
00161 void
00162 wait( double v, sc_time_unit tu,
00163 const sc_event_or_list& el,
00164 int seg_id,
00165 sc_simcontext* simc = sc_get_curr_simcontext() )
00166 {
00167 wait( sc_time( v, tu, simc ), el, seg_id, simc );
00168 }
00169
00174
00175 extern
00176 void
00177 wait( const sc_time&,
00178 const sc_event_and_list&,
00179 int,
00180 sc_simcontext* = sc_get_curr_simcontext() );
00181
00186
00187 inline
00188 void
00189 wait( double v, sc_time_unit tu,
00190 const sc_event_and_list& el,
00191 int seg_id,
00192 sc_simcontext* simc = sc_get_curr_simcontext() )
00193 {
00194 wait( sc_time( v, tu, simc ), el, seg_id, simc );
00195 }
00196
00197
00198
00199
00204
00205 extern
00206 void
00207 next_trigger( int,
00208 sc_simcontext* = sc_get_curr_simcontext() );
00209
00210
00211
00212
00217
00218 extern
00219 void
00220 next_trigger( const sc_event&,
00221 int,
00222 sc_simcontext* = sc_get_curr_simcontext() );
00223
00228
00229 extern
00230 void
00231 next_trigger( const sc_event_or_list&,
00232 int,
00233 sc_simcontext* = sc_get_curr_simcontext() );
00234
00239
00240 extern
00241 void
00242 next_trigger( const sc_event_and_list&,
00243 int,
00244 sc_simcontext* = sc_get_curr_simcontext() );
00245
00250
00251 extern
00252 void
00253 next_trigger( const sc_time&,
00254 int,
00255 sc_simcontext* = sc_get_curr_simcontext() );
00256
00261
00262 inline
00263 void
00264 next_trigger( double v, sc_time_unit tu,
00265 int seg_id,
00266 sc_simcontext* simc = sc_get_curr_simcontext() )
00267 {
00268 next_trigger( sc_time( v, tu, simc ), seg_id, simc );
00269 }
00270
00275
00276 extern
00277 void
00278 next_trigger( const sc_time&,
00279 const sc_event&,
00280 int,
00281 sc_simcontext* = sc_get_curr_simcontext() );
00282
00287
00288 inline
00289 void
00290 next_trigger( double v, sc_time_unit tu,
00291 const sc_event& e,
00292 int seg_id,
00293 sc_simcontext* simc = sc_get_curr_simcontext() )
00294 {
00295 next_trigger( sc_time( v, tu, simc ), e, seg_id, simc );
00296 }
00297
00302
00303 extern
00304 void
00305 next_trigger( const sc_time&,
00306 const sc_event_or_list&,
00307 int,
00308 sc_simcontext* = sc_get_curr_simcontext() );
00309
00314
00315 inline
00316 void
00317 next_trigger( double v, sc_time_unit tu,
00318 const sc_event_or_list& el,
00319 int seg_id,
00320 sc_simcontext* simc = sc_get_curr_simcontext() )
00321 {
00322 next_trigger( sc_time( v, tu, simc ), el, seg_id, simc );
00323 }
00324
00329
00330 extern
00331 void
00332 next_trigger( const sc_time&,
00333 const sc_event_and_list&,
00334 int,
00335 sc_simcontext* = sc_get_curr_simcontext() );
00336
00341
00342 inline
00343 void
00344 next_trigger( double v, sc_time_unit tu,
00345 const sc_event_and_list& el,
00346 int seg_id,
00347 sc_simcontext* simc = sc_get_curr_simcontext() )
00348 {
00349 next_trigger( sc_time( v, tu, simc ), el, seg_id, simc );
00350 }
00351
00352
00353
00354
00355 extern
00356 bool
00357 timed_out( sc_simcontext* = sc_get_curr_simcontext() );
00358
00359
00360
00361 extern
00362 void
00363 sc_set_location( const char*,
00364 int,
00365 sc_simcontext* = sc_get_curr_simcontext() );
00366
00367 }
00368
00369
00370
00371
00372
00373
00374
00375
00376
00377
00378
00379
00380
00381
00382
00383
00384
00385
00386
00387
00388
00389
00390
00391
00392
00393
00394
00395
00396
00397
00398
00399
00400
00401
00402
00403
00404
00405
00406
00407
00408
00409
00410
00411
00412
00413
00414
00415
00416
00417 #endif
00418
00419