vmcom vtime-extension
Simics Reference Manual  /  5 Classes  / 

vtime

Description

A vtime port object is created when the clock-extension extension class is used to extend CPU and clock classes with event posting functionality: the clock-extension class creates an instance of the vtime class in the 'vtime' port of the parent object. See the documentation for the clock-extension class and SIM_extend_class for related information.

An instance of the vtime class is responsible for a connection between a CPU or clock object - usually, it is the parent object of the vtime instance - from one side and, from another side, the objects of the cycle-counter class that are connected to the vtime instance. There can be multiple cycle-counter objects that are connected to a single vtime object.

Communication between CPU and clock objects with the vtime objects is done in the following way. CPU and clock objects are responsible for calling the event_handler interface of the vtime objects. The vtime objects use the frequency interface provided by CPU and clock objects as well as the event_delta interface provided by CPU objects.

Communication between a vtime object and cycle-counter objects connected to it is done via non-public interfaces.

Interfaces Implemented

conf_object, log_object, event_handler, temporal_state, frequency

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
frequency-change
Notifier that is triggered when frequency changes. New frequency can be read via the frequency interface of the object.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

frequency
Optional attribute; read/write access; type: i|f|o|[of]
frequency
advancer
Optional attribute; read/write access; type: o|n
Object implementing the event_delta interface or NIL.
connected_cycle_counters
Pseudo attribute; read-only access; type: [o*]
Cycle-counter objects driven by this object.

Provided By

Simics Core
vmcom vtime-extension