Previous Section Next Section

7.7 Predefined Events

Predefined events are emitted by Specman Elite at particular points in time. The knowledge of these events is useful for debugging and synchronization purposes. Table 7-4 summarizes these predefined events.

Table 7-4. Predefined Events

Predefined Event

Description

sys.any

Emitted on every e simulator tick. This is a special event that defines the finest granularity of time. The emission of any event in the system causes an emission of the any event at the same tick. For any temporal expression used without an explicit sampling event, sys.any is used by default.

sys.tick_start

Emitted at the start of every e simulator tick. This event is provided mainly for visualizing and debugging the program flow in the event viewer.

sys.tick_end

Emitted at the end of every e simulator tick. This event is provided mainly for visualizing and debugging the program flow in the event viewer.

session.start_of_test

Emitted once at test start. The first action the predefined run() method executes is to emit the session.start_of_test event. This event is typically used to anchor temporal expressions to the beginning of a simulation.

session.end_of_test

Emitted once at test end. This event is typically used to sample data at the end of the test. This event cannot be used in temporal expressions as it is emitted after evaluation of temporal expressions has been stopped. The on session.end_of_test struct member is typically used to prepare the data sampled at the end of the simulation.

struct.quit

Emitted when a struct's quit() method is called. Only exists in structs that contain events or have members that consume time (for example, time-consuming methods and on struct members).

The first action executed during the check test phase is to emit the quit event for each struct that contains it. It can be used to cause the evaluation of temporal expressions that contain the eventually temporal operator. This allows you to check for eventually temporal expressions that have not been satisfied.

sys.new_time

In standalone operation (no simulator), this event is emitted on every sys.any event. When a simulator is being used, this event is emitted every time a callback occurs, if the attached simulator's time has changed since the previous callback.

Previous Section Next Section