112027Sjungma@eit.uni-kl.de/*****************************************************************************
212027Sjungma@eit.uni-kl.de
312027Sjungma@eit.uni-kl.de  Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
412027Sjungma@eit.uni-kl.de  more contributor license agreements.  See the NOTICE file distributed
512027Sjungma@eit.uni-kl.de  with this work for additional information regarding copyright ownership.
612027Sjungma@eit.uni-kl.de  Accellera licenses this file to you under the Apache License, Version 2.0
712027Sjungma@eit.uni-kl.de  (the "License"); you may not use this file except in compliance with the
812027Sjungma@eit.uni-kl.de  License.  You may obtain a copy of the License at
912027Sjungma@eit.uni-kl.de
1012027Sjungma@eit.uni-kl.de    http://www.apache.org/licenses/LICENSE-2.0
1112027Sjungma@eit.uni-kl.de
1212027Sjungma@eit.uni-kl.de  Unless required by applicable law or agreed to in writing, software
1312027Sjungma@eit.uni-kl.de  distributed under the License is distributed on an "AS IS" BASIS,
1412027Sjungma@eit.uni-kl.de  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
1512027Sjungma@eit.uni-kl.de  implied.  See the License for the specific language governing
1612027Sjungma@eit.uni-kl.de  permissions and limitations under the License.
1712027Sjungma@eit.uni-kl.de
1812027Sjungma@eit.uni-kl.de *****************************************************************************/
1912027Sjungma@eit.uni-kl.de
2012027Sjungma@eit.uni-kl.de/*****************************************************************************
2112027Sjungma@eit.uni-kl.de
2212027Sjungma@eit.uni-kl.de  sc_wait.h -- Wait() and related functions.
2312027Sjungma@eit.uni-kl.de
2412027Sjungma@eit.uni-kl.de  Original Author: Stan Y. Liao, Synopsys, Inc.
2512027Sjungma@eit.uni-kl.de                   Martin Janssen, Synopsys, Inc.
2612027Sjungma@eit.uni-kl.de
2712027Sjungma@eit.uni-kl.de  CHANGE LOG AT THE END OF THE FILE
2812027Sjungma@eit.uni-kl.de *****************************************************************************/
2912027Sjungma@eit.uni-kl.de
3012027Sjungma@eit.uni-kl.de#ifndef SC_WAIT_H
3112027Sjungma@eit.uni-kl.de#define SC_WAIT_H
3212027Sjungma@eit.uni-kl.de
3312027Sjungma@eit.uni-kl.de
3412027Sjungma@eit.uni-kl.de#include "sysc/kernel/sc_simcontext.h"
3512027Sjungma@eit.uni-kl.de
3612027Sjungma@eit.uni-kl.denamespace sc_core {
3712027Sjungma@eit.uni-kl.de
3812027Sjungma@eit.uni-kl.declass sc_event;
3912027Sjungma@eit.uni-kl.declass sc_event_and_list;
4012027Sjungma@eit.uni-kl.declass sc_event_or_list;
4112027Sjungma@eit.uni-kl.declass sc_simcontext;
4212027Sjungma@eit.uni-kl.de
4312027Sjungma@eit.uni-kl.deextern sc_simcontext* sc_get_curr_simcontext();
4412027Sjungma@eit.uni-kl.de
4512027Sjungma@eit.uni-kl.de// static sensitivity for SC_THREADs and SC_CTHREADs
4612027Sjungma@eit.uni-kl.de
4712027Sjungma@eit.uni-kl.deextern
4812027Sjungma@eit.uni-kl.devoid
4912027Sjungma@eit.uni-kl.dewait( sc_simcontext* = sc_get_curr_simcontext() );
5012027Sjungma@eit.uni-kl.de
5112027Sjungma@eit.uni-kl.de
5212027Sjungma@eit.uni-kl.de// dynamic sensitivity for SC_THREADs and SC_CTHREADs
5312027Sjungma@eit.uni-kl.de
5412027Sjungma@eit.uni-kl.deextern
5512027Sjungma@eit.uni-kl.devoid
5612027Sjungma@eit.uni-kl.dewait( const sc_event&,
5712027Sjungma@eit.uni-kl.de      sc_simcontext* = sc_get_curr_simcontext() );
5812027Sjungma@eit.uni-kl.de
5912027Sjungma@eit.uni-kl.deextern
6012027Sjungma@eit.uni-kl.devoid
6112027Sjungma@eit.uni-kl.dewait( const sc_event_or_list&,
6212027Sjungma@eit.uni-kl.de      sc_simcontext* = sc_get_curr_simcontext() );
6312027Sjungma@eit.uni-kl.de
6412027Sjungma@eit.uni-kl.deextern
6512027Sjungma@eit.uni-kl.devoid
6612027Sjungma@eit.uni-kl.dewait( const sc_event_and_list&,
6712027Sjungma@eit.uni-kl.de      sc_simcontext* = sc_get_curr_simcontext() );
6812027Sjungma@eit.uni-kl.de
6912027Sjungma@eit.uni-kl.deextern
7012027Sjungma@eit.uni-kl.devoid
7112027Sjungma@eit.uni-kl.dewait( const sc_time&,
7212027Sjungma@eit.uni-kl.de      sc_simcontext* = sc_get_curr_simcontext() );
7312027Sjungma@eit.uni-kl.de
7412027Sjungma@eit.uni-kl.deinline
7512027Sjungma@eit.uni-kl.devoid
7612027Sjungma@eit.uni-kl.dewait( double v, sc_time_unit tu,
7712027Sjungma@eit.uni-kl.de      sc_simcontext* simc = sc_get_curr_simcontext() )
7812027Sjungma@eit.uni-kl.de{
7912027Sjungma@eit.uni-kl.de    wait( sc_time( v, tu, simc ), simc );
8012027Sjungma@eit.uni-kl.de}
8112027Sjungma@eit.uni-kl.de
8212027Sjungma@eit.uni-kl.deextern
8312027Sjungma@eit.uni-kl.devoid
8412027Sjungma@eit.uni-kl.dewait( const sc_time&,
8512027Sjungma@eit.uni-kl.de      const sc_event&,
8612027Sjungma@eit.uni-kl.de      sc_simcontext* = sc_get_curr_simcontext() );
8712027Sjungma@eit.uni-kl.de
8812027Sjungma@eit.uni-kl.deinline
8912027Sjungma@eit.uni-kl.devoid
9012027Sjungma@eit.uni-kl.dewait( double v, sc_time_unit tu,
9112027Sjungma@eit.uni-kl.de      const sc_event& e,
9212027Sjungma@eit.uni-kl.de      sc_simcontext* simc = sc_get_curr_simcontext() )
9312027Sjungma@eit.uni-kl.de{
9412027Sjungma@eit.uni-kl.de    wait( sc_time( v, tu, simc ), e, simc );
9512027Sjungma@eit.uni-kl.de}
9612027Sjungma@eit.uni-kl.de
9712027Sjungma@eit.uni-kl.deextern
9812027Sjungma@eit.uni-kl.devoid
9912027Sjungma@eit.uni-kl.dewait( const sc_time&,
10012027Sjungma@eit.uni-kl.de      const sc_event_or_list&,
10112027Sjungma@eit.uni-kl.de      sc_simcontext* = sc_get_curr_simcontext() );
10212027Sjungma@eit.uni-kl.de
10312027Sjungma@eit.uni-kl.deinline
10412027Sjungma@eit.uni-kl.devoid
10512027Sjungma@eit.uni-kl.dewait( double v, sc_time_unit tu,
10612027Sjungma@eit.uni-kl.de      const sc_event_or_list& el,
10712027Sjungma@eit.uni-kl.de      sc_simcontext* simc = sc_get_curr_simcontext() )
10812027Sjungma@eit.uni-kl.de{
10912027Sjungma@eit.uni-kl.de    wait( sc_time( v, tu, simc ), el, simc );
11012027Sjungma@eit.uni-kl.de}
11112027Sjungma@eit.uni-kl.de
11212027Sjungma@eit.uni-kl.deextern
11312027Sjungma@eit.uni-kl.devoid
11412027Sjungma@eit.uni-kl.dewait( const sc_time&,
11512027Sjungma@eit.uni-kl.de      const sc_event_and_list&,
11612027Sjungma@eit.uni-kl.de      sc_simcontext* = sc_get_curr_simcontext() );
11712027Sjungma@eit.uni-kl.de
11812027Sjungma@eit.uni-kl.deinline
11912027Sjungma@eit.uni-kl.devoid
12012027Sjungma@eit.uni-kl.dewait( double v, sc_time_unit tu,
12112027Sjungma@eit.uni-kl.de      const sc_event_and_list& el,
12212027Sjungma@eit.uni-kl.de      sc_simcontext* simc = sc_get_curr_simcontext() )
12312027Sjungma@eit.uni-kl.de{
12412027Sjungma@eit.uni-kl.de    wait( sc_time( v, tu, simc ), el, simc );
12512027Sjungma@eit.uni-kl.de}
12612027Sjungma@eit.uni-kl.de
12712027Sjungma@eit.uni-kl.de
12812027Sjungma@eit.uni-kl.de// static sensitivity for SC_METHODs
12912027Sjungma@eit.uni-kl.de
13012027Sjungma@eit.uni-kl.deextern
13112027Sjungma@eit.uni-kl.devoid
13212027Sjungma@eit.uni-kl.denext_trigger( sc_simcontext* = sc_get_curr_simcontext() );
13312027Sjungma@eit.uni-kl.de
13412027Sjungma@eit.uni-kl.de
13512027Sjungma@eit.uni-kl.de// dynamic sensitivity for SC_METHODs
13612027Sjungma@eit.uni-kl.de
13712027Sjungma@eit.uni-kl.deextern
13812027Sjungma@eit.uni-kl.devoid
13912027Sjungma@eit.uni-kl.denext_trigger( const sc_event&,
14012027Sjungma@eit.uni-kl.de	      sc_simcontext* = sc_get_curr_simcontext() );
14112027Sjungma@eit.uni-kl.de
14212027Sjungma@eit.uni-kl.deextern
14312027Sjungma@eit.uni-kl.devoid
14412027Sjungma@eit.uni-kl.denext_trigger( const sc_event_or_list&,
14512027Sjungma@eit.uni-kl.de	      sc_simcontext* = sc_get_curr_simcontext() );
14612027Sjungma@eit.uni-kl.de
14712027Sjungma@eit.uni-kl.deextern
14812027Sjungma@eit.uni-kl.devoid
14912027Sjungma@eit.uni-kl.denext_trigger( const sc_event_and_list&,
15012027Sjungma@eit.uni-kl.de	      sc_simcontext* = sc_get_curr_simcontext() );
15112027Sjungma@eit.uni-kl.de
15212027Sjungma@eit.uni-kl.deextern
15312027Sjungma@eit.uni-kl.devoid
15412027Sjungma@eit.uni-kl.denext_trigger( const sc_time&,
15512027Sjungma@eit.uni-kl.de	      sc_simcontext* = sc_get_curr_simcontext() );
15612027Sjungma@eit.uni-kl.de
15712027Sjungma@eit.uni-kl.deinline
15812027Sjungma@eit.uni-kl.devoid
15912027Sjungma@eit.uni-kl.denext_trigger( double v, sc_time_unit tu,
16012027Sjungma@eit.uni-kl.de	      sc_simcontext* simc = sc_get_curr_simcontext() )
16112027Sjungma@eit.uni-kl.de{
16212027Sjungma@eit.uni-kl.de    next_trigger( sc_time( v, tu, simc ), simc );
16312027Sjungma@eit.uni-kl.de}
16412027Sjungma@eit.uni-kl.de
16512027Sjungma@eit.uni-kl.deextern
16612027Sjungma@eit.uni-kl.devoid
16712027Sjungma@eit.uni-kl.denext_trigger( const sc_time&,
16812027Sjungma@eit.uni-kl.de	      const sc_event&,
16912027Sjungma@eit.uni-kl.de	      sc_simcontext* = sc_get_curr_simcontext() );
17012027Sjungma@eit.uni-kl.de
17112027Sjungma@eit.uni-kl.deinline
17212027Sjungma@eit.uni-kl.devoid
17312027Sjungma@eit.uni-kl.denext_trigger( double v, sc_time_unit tu,
17412027Sjungma@eit.uni-kl.de	      const sc_event& e,
17512027Sjungma@eit.uni-kl.de	      sc_simcontext* simc = sc_get_curr_simcontext() )
17612027Sjungma@eit.uni-kl.de{
17712027Sjungma@eit.uni-kl.de    next_trigger( sc_time( v, tu, simc ), e, simc );
17812027Sjungma@eit.uni-kl.de}
17912027Sjungma@eit.uni-kl.de
18012027Sjungma@eit.uni-kl.deextern
18112027Sjungma@eit.uni-kl.devoid
18212027Sjungma@eit.uni-kl.denext_trigger( const sc_time&,
18312027Sjungma@eit.uni-kl.de	      const sc_event_or_list&,
18412027Sjungma@eit.uni-kl.de	      sc_simcontext* = sc_get_curr_simcontext() );
18512027Sjungma@eit.uni-kl.de
18612027Sjungma@eit.uni-kl.deinline
18712027Sjungma@eit.uni-kl.devoid
18812027Sjungma@eit.uni-kl.denext_trigger( double v, sc_time_unit tu,
18912027Sjungma@eit.uni-kl.de	      const sc_event_or_list& el,
19012027Sjungma@eit.uni-kl.de	      sc_simcontext* simc = sc_get_curr_simcontext() )
19112027Sjungma@eit.uni-kl.de{
19212027Sjungma@eit.uni-kl.de    next_trigger( sc_time( v, tu, simc ), el, simc );
19312027Sjungma@eit.uni-kl.de}
19412027Sjungma@eit.uni-kl.de
19512027Sjungma@eit.uni-kl.deextern
19612027Sjungma@eit.uni-kl.devoid
19712027Sjungma@eit.uni-kl.denext_trigger( const sc_time&,
19812027Sjungma@eit.uni-kl.de	      const sc_event_and_list&,
19912027Sjungma@eit.uni-kl.de	      sc_simcontext* = sc_get_curr_simcontext() );
20012027Sjungma@eit.uni-kl.de
20112027Sjungma@eit.uni-kl.deinline
20212027Sjungma@eit.uni-kl.devoid
20312027Sjungma@eit.uni-kl.denext_trigger( double v, sc_time_unit tu,
20412027Sjungma@eit.uni-kl.de	      const sc_event_and_list& el,
20512027Sjungma@eit.uni-kl.de	      sc_simcontext* simc = sc_get_curr_simcontext() )
20612027Sjungma@eit.uni-kl.de{
20712027Sjungma@eit.uni-kl.de    next_trigger( sc_time( v, tu, simc ), el, simc );
20812027Sjungma@eit.uni-kl.de}
20912027Sjungma@eit.uni-kl.de
21012027Sjungma@eit.uni-kl.de
21112027Sjungma@eit.uni-kl.de// for SC_METHODs and SC_THREADs and SC_CTHREADs
21212027Sjungma@eit.uni-kl.de
21312027Sjungma@eit.uni-kl.deextern
21412027Sjungma@eit.uni-kl.debool
21512027Sjungma@eit.uni-kl.detimed_out( sc_simcontext* = sc_get_curr_simcontext() );
21612027Sjungma@eit.uni-kl.de
21712027Sjungma@eit.uni-kl.de// misc.
21812027Sjungma@eit.uni-kl.de
21912027Sjungma@eit.uni-kl.deextern
22012027Sjungma@eit.uni-kl.devoid
22112027Sjungma@eit.uni-kl.desc_set_location( const char*,
22212027Sjungma@eit.uni-kl.de		 int,
22312027Sjungma@eit.uni-kl.de		 sc_simcontext* = sc_get_curr_simcontext() );
22412027Sjungma@eit.uni-kl.de
22512027Sjungma@eit.uni-kl.de} // namespace sc_core
22612027Sjungma@eit.uni-kl.de
22712027Sjungma@eit.uni-kl.de/*
22812027Sjungma@eit.uni-kl.de$Log: sc_wait.h,v $
22912027Sjungma@eit.uni-kl.deRevision 1.6  2011/08/26 20:46:11  acg
23012027Sjungma@eit.uni-kl.de Andy Goodrich: moved the modification log to the end of the file to
23112027Sjungma@eit.uni-kl.de eliminate source line number skew when check-ins are done.
23212027Sjungma@eit.uni-kl.de
23312027Sjungma@eit.uni-kl.deRevision 1.5  2011/02/18 20:27:14  acg
23412027Sjungma@eit.uni-kl.de Andy Goodrich: Updated Copyrights.
23512027Sjungma@eit.uni-kl.de
23612027Sjungma@eit.uni-kl.deRevision 1.4  2011/02/13 21:47:38  acg
23712027Sjungma@eit.uni-kl.de Andy Goodrich: update copyright notice.
23812027Sjungma@eit.uni-kl.de
23912027Sjungma@eit.uni-kl.deRevision 1.3  2011/01/18 20:10:45  acg
24012027Sjungma@eit.uni-kl.de Andy Goodrich: changes for IEEE1666_2011 semantics.
24112027Sjungma@eit.uni-kl.de
24212027Sjungma@eit.uni-kl.deRevision 1.2  2008/05/22 17:06:27  acg
24312027Sjungma@eit.uni-kl.de Andy Goodrich: updated copyright notice to include 2008.
24412027Sjungma@eit.uni-kl.de
24512027Sjungma@eit.uni-kl.deRevision 1.1.1.1  2006/12/15 20:20:05  acg
24612027Sjungma@eit.uni-kl.deSystemC 2.3
24712027Sjungma@eit.uni-kl.de
24812027Sjungma@eit.uni-kl.deRevision 1.2  2006/01/03 23:18:45  acg
24912027Sjungma@eit.uni-kl.deChanged copyright to include 2006.
25012027Sjungma@eit.uni-kl.de
25112027Sjungma@eit.uni-kl.deRevision 1.1.1.1  2005/12/19 23:16:44  acg
25212027Sjungma@eit.uni-kl.deFirst check in of SystemC 2.1 into its own archive.
25312027Sjungma@eit.uni-kl.de
25412027Sjungma@eit.uni-kl.deRevision 1.10  2005/07/30 03:45:05  acg
25512027Sjungma@eit.uni-kl.deChanges from 2.1, including changes for sc_process_handle.
25612027Sjungma@eit.uni-kl.de
25712027Sjungma@eit.uni-kl.deRevision 1.9  2005/04/04 00:16:08  acg
25812027Sjungma@eit.uni-kl.deChanges for directory name change to sys from systemc.
25912027Sjungma@eit.uni-kl.deChanges for sc_string going to std::string.
26012027Sjungma@eit.uni-kl.deChanges for sc_pvector going to std::vector.
26112027Sjungma@eit.uni-kl.deChanges for reference pools for bit and part selections.
26212027Sjungma@eit.uni-kl.deChanges for const sc_concatref support.
26312027Sjungma@eit.uni-kl.de
26412027Sjungma@eit.uni-kl.deRevision 1.6  2004/10/13 18:13:22  acg
26512027Sjungma@eit.uni-kl.desc_ver.h - updated version number. sc_wait.h remove inclusion of
26612027Sjungma@eit.uni-kl.desysc/kernel/sc_event.h because it is not necessary.
26712027Sjungma@eit.uni-kl.de
26812027Sjungma@eit.uni-kl.deRevision 1.5  2004/09/27 20:49:10  acg
26912027Sjungma@eit.uni-kl.deAndy Goodrich, Forte Design Systems, Inc.
27012027Sjungma@eit.uni-kl.de   - Added a $Log comment so that CVS checkin comments appear in the
27112027Sjungma@eit.uni-kl.de        checkout source.
27212027Sjungma@eit.uni-kl.de
27312027Sjungma@eit.uni-kl.de*/
27412027Sjungma@eit.uni-kl.de
27512027Sjungma@eit.uni-kl.de#endif
27612027Sjungma@eit.uni-kl.de
27712027Sjungma@eit.uni-kl.de// Taf!
278