Go to the documentation of this file.
43 bool stopAfterCallbacks =
false;
44 bool startComplete =
false;
45 bool endComplete =
false;
70 if (stopAfterCallbacks)
71 fatal(
"Simulation called sc_stop during elaboration.\n");
75 p->sc_port_base()->before_end_of_elaboration();
77 m->beforeEndOfElaboration();
79 c->sc_chan()->before_end_of_elaboration();
98 p->sc_port_base()->end_of_elaboration();
100 m->endOfElaboration();
102 c->sc_chan()->end_of_elaboration();
116 if (stopAfterCallbacks)
122 p->sc_port_base()->start_of_simulation();
124 m->startOfSimulation();
126 c->sc_chan()->start_of_simulation();
131 startComplete =
true;
133 if (stopAfterCallbacks)
143 stopAfterCallbacks =
true;
154 p->sc_port_base()->end_of_simulation();
156 m->endOfSimulation();
158 c->sc_chan()->end_of_simulation();
171 if (stopAfterCallbacks) {
186 SystemC_KernelParams::create()
189 "Only one systemc kernel object may be defined.\n");
#define fatal(...)
This implements a cprintf based fatal() function.
void regStats() override
Callback to set stat parameters.
void scheduleStop(bool finish_delta)
bool finished() const
Returns whether the "main" function of this fiber has finished.
static bool endOfSimulationComplete()
void init() override
init() is called after all C++ SimObjects have been created and all ports are connected.
@ SC_BEFORE_END_OF_ELABORATION
std::set< Channel * > allChannels
void schedule(Event &event, Tick when)
EventWrapper< Kernel, &Kernel::t0Handler > t0Event
static bool startOfSimulationComplete()
EventQueue * eventQueue() const
void startup() override
startup() is the final initialization call before simulation.
#define panic_if(cond,...)
Conditional panic macro that checks the supplied condition and only panics if the condition is true a...
std::list< Port * > allPorts
void setEventQueue(EventQueue *_eq)
std::list< Module * > allModules
Common base class for Event and GlobalEvent, so they can share flag and priority definitions and acce...
static sc_core::sc_status status()
Tick curTick()
The current simulated tick.
Abstract superclass for simulation objects.
Generated on Wed Sep 30 2020 14:02:14 for gem5 by doxygen 1.8.17