Class VhdlBatchSimKernel

  extended byhades.simulator.SimKernel
      extended byhades.simulator.VhdlSimKernel
          extended byhades.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.

Nested Class Summary
Nested classes inherited from class hades.simulator.VhdlSimKernel
VhdlSimKernel.DeleteAllEventsFromSourceCommand, VhdlSimKernel.NOP
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
Constructor Summary
          constructor for an so far idle simulation engine
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

Field Detail


static java.lang.String versionString
Constructor Detail


public VhdlBatchSimKernel()
constructor for an so far idle simulation engine

Method Detail


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.

simulation in class VhdlSimKernel


void checkInteractiveEvents()
checkInteractiveEvents in class VhdlSimKernel


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.

checkResync in class VhdlSimKernel


void collectEvents()
collectEvents in class VhdlSimKernel


public java.lang.String toString()
standard identification method

toString in class VhdlSimKernel