26 #ifndef ORCASIM_BASE_INCLUDE_ENGINE_HPP_ 27 #define ORCASIM_BASE_INCLUDE_ENGINE_HPP_ 110 #endif // ORCASIM_BASE_INCLUDE_ENGINE_HPP_ SimulationTime Run(SimulationTime time=100000)
Executes the simulator until the internal clock reaches <time> cycles.
SimulationTime GetGlobalTime()
Gets the current global time.
This class models a discrete event.
std::priority_queue< Event > _queue
queue that stores all events
SimulationTime _timeout
max time the simulation can reach
SimulationTime NextEpoch()
Resets the simulation clock and advance simulation to the next epoch.
SimulationTime _globalTime
The global clock, stores current simulation time.
SimulationTime _epochs
number of cycles to simulate before reseting the queue
This class implements an event queue to schedule and execute hardware modules.
Engine()
Default constructor, takes no parameters.
void Schedule(const Event &e)
Adds an event to the simulation queue.
SimulationTime GetEpochs()
Gets the number of cycles to simulate before reseting the simulation clock.
void executeNext()
execute event at top of event queue