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 #ifndef _SYSC_PRINT_VERBOSE_MESSAGE_ENV_VAR
00035 #define _SYSC_PRINT_VERBOSE_MESSAGE_ENV_VAR "SYSC_PRINT_VERBOSE_MESSAGE"
00036 #endif
00037 namespace sc_core {
00038
00039 class sc_event;
00040 class sc_event_and_list;
00041 class sc_event_or_list;
00042 class sc_simcontext;
00043
00044 extern sc_simcontext* sc_get_curr_simcontext();
00045
00046 void message_test();
00047
00048
00054 extern
00055 void
00056 aux_seg_bound(sc_simcontext* simc);
00057
00058
00059 extern
00060 void
00061 wait( int,
00062 sc_simcontext* = sc_get_curr_simcontext() );
00063
00064
00065
00066
00071
00072 extern
00073 void
00074 wait( const sc_event&,
00075 int,
00076 sc_simcontext* = sc_get_curr_simcontext() );
00077
00082
00083 extern
00084 void
00085 wait( const sc_event_or_list&,
00086 int,
00087 sc_simcontext* = sc_get_curr_simcontext() );
00088
00093
00094 extern
00095 void
00096 wait( const sc_event_and_list&,
00097 int,
00098 sc_simcontext* = sc_get_curr_simcontext() );
00099
00104
00105 extern
00106 void
00107 wait( const sc_time&,
00108 int,
00109 sc_simcontext* = sc_get_curr_simcontext() );
00110
00115
00116 inline
00117 void
00118 wait( double v, sc_time_unit tu,
00119 int seg_id,
00120 sc_simcontext* simc = sc_get_curr_simcontext() )
00121 {
00122 wait( sc_time( v, tu, simc ), seg_id, simc );
00123 }
00124
00129
00130 extern
00131 void
00132 wait( const sc_time&,
00133 const sc_event&,
00134 int,
00135 sc_simcontext* = sc_get_curr_simcontext() );
00136
00141
00142 inline
00143 void
00144 wait( double v, sc_time_unit tu,
00145 const sc_event& e,
00146 int seg_id,
00147 sc_simcontext* simc = sc_get_curr_simcontext() )
00148 {
00149 wait( sc_time( v, tu, simc ), e, seg_id, simc );
00150 }
00151
00156
00157 extern
00158 void
00159 wait( const sc_time&,
00160 const sc_event_or_list&,
00161 int,
00162 sc_simcontext* = sc_get_curr_simcontext() );
00163
00168
00169 inline
00170 void
00171 wait( double v, sc_time_unit tu,
00172 const sc_event_or_list& el,
00173 int seg_id,
00174 sc_simcontext* simc = sc_get_curr_simcontext() )
00175 {
00176 wait( sc_time( v, tu, simc ), el, seg_id, simc );
00177 }
00178
00183
00184 extern
00185 void
00186 wait( const sc_time&,
00187 const sc_event_and_list&,
00188 int,
00189 sc_simcontext* = sc_get_curr_simcontext() );
00190
00195
00196 inline
00197 void
00198 wait( double v, sc_time_unit tu,
00199 const sc_event_and_list& el,
00200 int seg_id,
00201 sc_simcontext* simc = sc_get_curr_simcontext() )
00202 {
00203 wait( sc_time( v, tu, simc ), el, seg_id, simc );
00204 }
00205
00206
00207
00208
00213
00214 extern
00215 void
00216 next_trigger( int,
00217 sc_simcontext* = sc_get_curr_simcontext() );
00218
00219
00220
00221
00226
00227 extern
00228 void
00229 next_trigger( const sc_event&,
00230 int,
00231 sc_simcontext* = sc_get_curr_simcontext() );
00232
00237
00238 extern
00239 void
00240 next_trigger( const sc_event_or_list&,
00241 int,
00242 sc_simcontext* = sc_get_curr_simcontext() );
00243
00248
00249 extern
00250 void
00251 next_trigger( const sc_event_and_list&,
00252 int,
00253 sc_simcontext* = sc_get_curr_simcontext() );
00254
00259
00260 extern
00261 void
00262 next_trigger( const sc_time&,
00263 int,
00264 sc_simcontext* = sc_get_curr_simcontext() );
00265
00270
00271 inline
00272 void
00273 next_trigger( double v, sc_time_unit tu,
00274 int seg_id,
00275 sc_simcontext* simc = sc_get_curr_simcontext() )
00276 {
00277 next_trigger( sc_time( v, tu, simc ), seg_id, simc );
00278 }
00279
00284
00285 extern
00286 void
00287 next_trigger( const sc_time&,
00288 const sc_event&,
00289 int,
00290 sc_simcontext* = sc_get_curr_simcontext() );
00291
00296
00297 inline
00298 void
00299 next_trigger( double v, sc_time_unit tu,
00300 const sc_event& e,
00301 int seg_id,
00302 sc_simcontext* simc = sc_get_curr_simcontext() )
00303 {
00304 next_trigger( sc_time( v, tu, simc ), e, seg_id, simc );
00305 }
00306
00311
00312 extern
00313 void
00314 next_trigger( const sc_time&,
00315 const sc_event_or_list&,
00316 int,
00317 sc_simcontext* = sc_get_curr_simcontext() );
00318
00323
00324 inline
00325 void
00326 next_trigger( double v, sc_time_unit tu,
00327 const sc_event_or_list& el,
00328 int seg_id,
00329 sc_simcontext* simc = sc_get_curr_simcontext() )
00330 {
00331 next_trigger( sc_time( v, tu, simc ), el, seg_id, simc );
00332 }
00333
00338
00339 extern
00340 void
00341 next_trigger( const sc_time&,
00342 const sc_event_and_list&,
00343 int,
00344 sc_simcontext* = sc_get_curr_simcontext() );
00345
00350
00351 inline
00352 void
00353 next_trigger( double v, sc_time_unit tu,
00354 const sc_event_and_list& el,
00355 int seg_id,
00356 sc_simcontext* simc = sc_get_curr_simcontext() )
00357 {
00358 next_trigger( sc_time( v, tu, simc ), el, seg_id, simc );
00359 }
00360
00361
00362
00363
00364 extern
00365 bool
00366 timed_out( sc_simcontext* = sc_get_curr_simcontext() );
00367
00368
00369
00370 extern
00371 void
00372 sc_set_location( const char*,
00373 int,
00374 sc_simcontext* = sc_get_curr_simcontext() );
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
00418
00419
00420
00421
00422
00423
00424
00425
00426 #endif
00427
00428