1 #ifndef SIM_SIMULATIONCLOCK_H
2 #define SIM_SIMULATIONCLOCK_H
8 class SimulationObject
;
13 * @brief Coordinates the timing between the components of the simulation.
15 * The SimulationClock class is used to coordinate the timing
16 * between the different peripherals within a processor and
17 * in some cases, the timing between several simulated
18 * processors and modules.
20 * Simulation objects can be notified at a specific
21 * instance in time by setting a break point.
23 class SimulationClock
: public Clock
<SimulationObject
> {
25 SimulationClock() : finished(false), maxTicks(0) {}
29 void finish() { finished
= true; }
30 void setMaxTicks(ClockOffset ticks
) { maxTicks
= ticks
; }
39 #endif /*SIM_SIMULATIONCLOCK_H*/