hades.simulator
Class VhdlBatchSimKernel
java.lang.Object
hades.simulator.SimKernel
hades.simulator.VhdlSimKernel
hades.simulator.VhdlBatchSimKernel
- All Implemented Interfaces:
- ContextToolTip, java.lang.Runnable, Simulatable
- public class VhdlBatchSimKernel
- extends VhdlSimKernel
- implements java.lang.Runnable
A simulation engine with VHDL-like semantics.
VhdlBatchSimKernel implements a discrete-event 2-list delta-delay
simulation engine that supports VHDL-like semantics:
during simulation, the simulator collects all events scheduled
at the same simulation time, then executes all pending signal
assignments, before continuing with the next simulation cycle.
Similar to RealTimeSimKernel, the simulation will not run faster
than (approximately) real time, to allow for visualization and
animation.
Field Summary |
(package private) static java.lang.String |
versionString
|
Fields inherited from class hades.simulator.VhdlSimKernel |
COLLECT_CYCLE, delta_resync_iterations, eventTime, EXECUTE_CYCLE, global_errors, IDLE_CYCLE, lastSyncTime, macroState, microState, n_max_pending, n_resync_iterations, PENDING_ARRAY_SIZE, pendingArrayIndex, pendingEventArray, pendingEventTargetArray, realTime, RECYCLE_ARRAY_SIZE, recycleEventArray, recycleIndex, t_sleep, t0, t1 |
Fields inherited from class hades.simulator.SimKernel |
commandQueue, console, controlPanel, debug, design, ELABORATE, endTime, eventList, n_interactive, n_interactive_transferred, n_iterations, n_processed, n_scheduled, n_simulators, name, painter, PAUSED, RESET, runner, RUNNING, shouldStop, simTime, simulatorID, SINGLESTEP, state, STOPPED |
Method Summary |
(package private) void |
checkInteractiveEvents()
|
(package private) void |
checkResync()
check whether we need to re-synchronize simulation time and real time. |
(package private) void |
collectEvents()
|
(package private) void |
simulation()
simulation:
for each iteration, we first check and handle interactive events. |
java.lang.String |
toString()
standard identification method |
Methods inherited from class hades.simulator.VhdlSimKernel |
addPendingEvent, addRecycleableEvent, deleteAllEventsFromSource, executeAllPendingEvents, executePendingEvent, initializeSimulator, printStatus, reallocatePendingEventArrays, reallocateRecycleEventArrays, recycleEvents, resync, run, runForever, scheduleInteractiveEvent, sleep |
Methods inherited from class hades.simulator.SimKernel |
checkClearWaveforms, continueSimulation, dbg, elaborate, elaborateComponents, evaluate, executeSingleStep, getDebug, getEventList, getNumberOfProcessedEvents, getNumberOfScheduledEvents, getSimTime, getState, getSyncPainter, getToolTip, hasEvents, isPaused, isReset, isRunning, isSingleStep, main, message, pauseSimulation_NEW, pauseSimulation, printNextPendingEvent, processPendingRepaints, run_debug, runFor, scheduleEvent, scheduleWakeup, setConsole, setControlPanel, setDebug, setDesign, setName, setSyncPainter, singleStep, stopSimulation_NEW, stopSimulation, usage |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.lang.Runnable |
run |
versionString
static java.lang.String versionString
VhdlBatchSimKernel
public VhdlBatchSimKernel()
- constructor for an so far idle simulation engine
simulation
void simulation()
- simulation:
for each iteration, we first check and handle interactive events.
Next, we check simulation and real-time and re-synchronize, if necessary.
Finally, we collect and execute the events.
- Overrides:
simulation
in class VhdlSimKernel
checkInteractiveEvents
void checkInteractiveEvents()
- Overrides:
checkInteractiveEvents
in class VhdlSimKernel
checkResync
void checkResync()
- check whether we need to re-synchronize simulation time and real time.
Currently, this is done after every n_resync_iterations cycles,
or every 0.5 seconds of real time.
- Overrides:
checkResync
in class VhdlSimKernel
collectEvents
void collectEvents()
- Overrides:
collectEvents
in class VhdlSimKernel
toString
public java.lang.String toString()
- standard identification method
- Overrides:
toString
in class VhdlSimKernel