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
|
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. |