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_cthread.h -- Wait() and related functions for SC_CTHREADs.
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
31#ifndef SC_WAIT_CTHREAD_H
32#define SC_WAIT_CTHREAD_H
33
34
35#include "sysc/kernel/sc_simcontext.h"
36#include "sysc/datatypes/bit/sc_logic.h"
37#include "sysc/communication/sc_signal_ifs.h"
38
39
40namespace sc_core
41{
42
43// for SC_CTHREADs
44
45extern
46void
47halt( sc_simcontext* = sc_get_curr_simcontext() );
48
49
50extern
51void
52wait( int,
53      sc_simcontext* = sc_get_curr_simcontext() );
54
55
56extern
57void
58at_posedge( const sc_signal_in_if<bool>&,
59	    sc_simcontext* = sc_get_curr_simcontext() );
60
61extern
62void
63at_posedge( const sc_signal_in_if<sc_dt::sc_logic>&,
64	    sc_simcontext* = sc_get_curr_simcontext() );
65
66extern
67void
68at_negedge( const sc_signal_in_if<bool>&,
69	    sc_simcontext* = sc_get_curr_simcontext() );
70
71extern
72void
73at_negedge( const sc_signal_in_if<sc_dt::sc_logic>&,
74	    sc_simcontext* = sc_get_curr_simcontext() );
75
76
77} // namespace sc_core
78
79/*
80$Log: sc_wait_cthread.h,v $
81Revision 1.6  2011/08/26 20:46:11  acg
82 Andy Goodrich: moved the modification log to the end of the file to
83 eliminate source line number skew when check-ins are done.
84
85Revision 1.5  2011/08/24 22:05:51  acg
86 Torsten Maehne: initialization changes to remove warnings.
87
88Revision 1.4  2011/02/18 20:27:14  acg
89 Andy Goodrich: Updated Copyrights.
90
91Revision 1.3  2011/02/13 21:47:38  acg
92 Andy Goodrich: update copyright notice.
93
94Revision 1.2  2008/05/22 17:06:27  acg
95 Andy Goodrich: updated copyright notice to include 2008.
96
97Revision 1.1.1.1  2006/12/15 20:20:05  acg
98SystemC 2.3
99
100Revision 1.2  2006/01/03 23:18:45  acg
101Changed copyright to include 2006.
102
103Revision 1.1.1.1  2005/12/19 23:16:44  acg
104First check in of SystemC 2.1 into its own archive.
105
106Revision 1.10  2005/09/02 19:03:30  acg
107Changes for dynamic processes. Removal of lambda support.
108
109Revision 1.9  2005/04/04 00:16:08  acg
110Changes for directory name change to sys from systemc.
111Changes for sc_string going to std::string.
112Changes for sc_pvector going to std::vector.
113Changes for reference pools for bit and part selections.
114Changes for const sc_concatref support.
115
116Revision 1.6  2005/01/10 17:52:20  acg
117Addition of namespace specifications.
118
119Revision 1.5  2004/09/27 20:49:10  acg
120Andy Goodrich, Forte Design Systems, Inc.
121   - Added a $Log comment so that CVS checkin comments appear in the
122     checkout source.
123
124*/
125
126#endif
127