4.8.2 Event source IRIS_SIMULATION_TIME_EVENT

This event is emitted whenever the simulation time starts or stops progressing. It gives the reason why simulation time stopped. It is provided by the framework.SimulationEngine instance, not by individual instances.

Table 4-7 Event source IRIS_SIMULATION_TIME_EVENT

Field Type Description
TICKS NumberU64 Current simulation time in ticks. One tick is 1/TICK_HZ seconds long. The elapsed simulation time is TICKS/TICK_HZ seconds.
TICK_HZ NumberU64 Time resolution of the TICKS value in Hz. For example, 1000 means that 1 tick = 1ms.
RUNNING Boolean True if and only if the simulation is running, else False.

Note:

This information might already be out of date when the callback is received. When multiple simulation controllers start and stop the simulation, for example if multiple debuggers are connected, there is no way to reliably know whether the simulation is currently running or stopped. In this case, this field is only a hint.
REASON NumberU64

Optional. This field is only present when the simulation is stopped, in other words, when RUNNING=False. It gives the reason why simulation time stopped. If there are multiple reasons, only one IRIS_SIMULATION_TIME_EVENT is generated. The reason is only a coarse classification and can usually be ignored by clients.

Bit[0]UNKNOWN.
Bit[1]STOP. simulationTime_stop() was called.
Bit[2]BREAKPOINT. A breakpoint was hit. Details about hit breakpoints are transmitted with the instance-specific IRIS_BREAKPOINT_HIT event source. IRIS_BREAKPOINT_HIT is emitted before IRIS_SIMULATION_TIME_EVENT.
Bit[3]EVENT_COUNTER_OVERFLOW. An event counter overflow occurred, with counterMode.overflowStopSim.
Bit[4]STEPPING_COMPLETED.
Bit[5]REACHED_DEBUGGABLE_STATE. For more information, see 4.9 Debuggable state.
Bit[6]EVENT. The simulation stopped because of an event in an event stream that was created with stop=True. Details about which event caused the stop are transmitted with the event callback. For example, ec_FOO for event FOO. The event callback happens before IRIS_SIMULATION_TIME_EVENT.

All other bits are reserved and must be zero.

INST_ID NumberU64 Optional. If available, this contains the instance id that originally caused the simulation time event.
Non-ConfidentialPDF file icon PDF version101196_0100_00_en
Copyright © 2018 Arm Limited or its affiliates. All rights reserved.