SystemC  2.3.1
Accellera SystemC proof-of-concept library
sc_status.h
Go to the documentation of this file.
1 /*****************************************************************************
2 
3  The following code is derived, directly or indirectly, from the SystemC
4  source code Copyright (c) 1996-2014 by all Contributors.
5  All Rights reserved.
6 
7  The contents of this file are subject to the restrictions and limitations
8  set forth in the SystemC Open Source License (the "License");
9  You may not use this file except in compliance with such restrictions and
10  limitations. You may obtain instructions on how to receive a copy of the
11  License at http://www.accellera.org/. Software distributed by Contributors
12  under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
13  ANY KIND, either express or implied. See the License for the specific
14  language governing rights and limitations under the License.
15 
16  *****************************************************************************/
17 
18 /*****************************************************************************
19 
20  sc_status.h -- Definition of the simulation phases
21 
22  Original Author: Philipp A. Hartmann, OFFIS, 2013-02-15
23 
24  CHANGE LOG AT THE END OF THE FILE
25  *****************************************************************************/
26 
27 #ifndef SC_STATUS_H_INCLUDED_
28 #define SC_STATUS_H_INCLUDED_
29 
30 #include <iosfwd>
31 
32 namespace sc_core {
33 
34 // simulation status codes
35 
36 const int SC_SIM_OK = 0;
37 const int SC_SIM_ERROR = 1;
38 const int SC_SIM_USER_STOP = 2;
39 
41 { // sc_get_status values:
42  SC_UNITIALIZED=0x00, // initialize() not called yet
43 
44  SC_ELABORATION = 0x01, // during module hierarchy construction
45  SC_BEFORE_END_OF_ELABORATION = 0x02, // during before_end_of_elaboration()
46  SC_END_OF_ELABORATION = 0x04, // during end_of_elaboration()
47  SC_START_OF_SIMULATION = 0x08, // during start_of_simulation()
48 
49  SC_RUNNING = 0x10, // initialization, evaluation or update
50  SC_PAUSED = 0x20, // when scheduler stopped by sc_pause()
51  SC_STOPPED = 0x40, // when scheduler stopped by sc_stop()
52  SC_END_OF_SIMULATION = 0x80, // during end_of_simulation()
53 
54  // detailed simulation phases (for dynamic callbacks)
55  SC_END_OF_INITIALIZATION = 0x100, // after initialization
56 // SC_END_OF_EVALUATION = 0x200, // between eval and update
57  SC_END_OF_UPDATE = 0x400, // after update/notify phase
58  SC_BEFORE_TIMESTEP = 0x800, // before next time step
59 
61  SC_STATUS_ANY = 0xdff
62 };
63 
64 // pretty-printing of sc_status values
65 std::ostream& operator << ( std::ostream&, sc_status );
66 
67 } // namespace sc_core
68 
69 /*****************************************************************************
70 
71  MODIFICATION LOG - modifiers, enter your name, affiliation, date and
72  changes you are making here.
73 
74  Name, Affiliation, Date:
75  Description of Modification:
76 
77  *****************************************************************************/
78 
79 #endif /* SC_STATUS_H_INCLUDED_ */
80 // Taf!
81 
inline::std::ostream & operator<<(::std::ostream &os, const sc_fifo< T > &a)
Definition: sc_fifo.h:424
const int SC_SIM_USER_STOP
Definition: sc_status.h:38
const int SC_SIM_OK
Definition: sc_status.h:36
const int SC_SIM_ERROR
Definition: sc_status.h:37