freerun-extension frontend-server-console
Simics Reference Manual  /  5 Classes  / 

frequency_bus

Description

The frequency_bus class implements a bus that distributes a frequency to a set of targets. Targets subscribe to the bus via the simple_dispatcher interface, and frequency changes are distributed to subscribers via the frequency_listener iface. The distributed frequency can either be generated by the bus itself, or be fetched from a different object (e.g., from another frequency bus). The input frequency can optionally be scaled before it is distributed.

Interfaces Implemented

conf_object, log_object, frequency_listener, scale_factor_listener, simple_dispatcher

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
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.

Commands for this class

Attributes

current_output_freq
Pseudo attribute; read-only access; type: [ii]
The frequency currently output to connected devices
frequency
Optional attribute; read/write access; type: o|[ii]|[os]
The frequency broadcasted by this bus. A value of [p, q] means a fix frequency of p/q Hz; if the value is an object implementing the simple_dispatcher interface, the frequency is fetched from that object; if the value is an [object, port] pair, the frequency is fetched from the given port.
scale_factor
Optional attribute; read/write access; type: o|[ii]|[os]
The input frequency is multiplied by this number before broadcasted. A value of [p, q] means a fix factor of p/q; if the value is an object implementing the simple_dispatcher interface, the factor is fetched from that object; if the value is an [object, port] pair, the factor is fetched from the given port.
targets
Pseudo attribute; read-only access; type: [[o,s|n]*]
Current frequency target objects, on the form [object, port]

Provided By

frequency-bus
freerun-extension frontend-server-console