The clock class can be used to drive the simulation when there is no processor in the system. It implements the cycle interface, which means that devices and other objects can post events on it to be executed at a later time. The clock frequency determines the length of a clock cycle, which is used as the granularity for executing events. It is not possible to post step events to the clock.
conf_object, log_object, execute, frequency_listener, frequency, concurrency_mode, execute_control, cycle
- 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.
- vtime
-
vtime
– event handler
- vtime.cycles
-
cycle-counter
– cycle queue
- vtime.ps
-
ps-clock
– event queue (ps)
-
info
– print information about the object
-
status
– print status of the object
-
freq_mhz
-
Required attribute;
read/write access; type:
i|f
Clock frequency in MHz.
-
cycles
-
Optional attribute;
read/write access; type:
i
Time measured in cycles from machine start.
-
time_queue
-
Pseudo attribute;
read/write access; type:
[[osaai]*]
((object, evclass, value, slot, when)*). Pending cycle queue events.
-
multicore_accelerator_enabled
-
Pseudo attribute;
read/write access; type:
b
If TRUE the clock enabled for Multicore Accelerator execution, otherwise FALSE
-
mca_concurrency_mode
-
Optional attribute;
read/write access; type:
i
Multicore Accelerator mode used by processor. One of Sim_Concurrency_Mode_Serialized (1), Sim_Concurrency_Mode_Serialized_Memory (2), or Sim_Concurrency_Mode_Full (4)
-
stop_listeners
-
Optional attribute;
read/write access; type:
[[o,n|s]*]
List of objects listening for stop signal. Each object/port pair needs to implement the pulse interface through which the information to stop will be signaled. Port can be NIL in which case the pulse interface will be used without a port.
-
do_not_schedule
-
Optional attribute;
read/write access; type:
b
Set to TRUE to prevent this object from being scheduled by the cell.
-
cell
-
Optional attribute;
read/write access; type:
o|n
Cell
clock