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.
conf_object, log_object, event_handler, temporal_state, frequency
- 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.
-
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.
Simics Core