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