trans-staller transaction_splitter
Simics Reference Manual  /  5 Classes  / 

transaction-ckpt

Description

Transaction checkpoint class.

Interfaces Implemented

conf_object, log_object, transaction_subscribe

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.
transaction-wait-all-completed
Notifier that is triggered when all calls to the SIM_transaction_wait function have completed. The notifier can be useful in cases where there are issues with saving a checkpoint because the SIM_transaction_wait function is used for simulation. Simics cannot save a checkpoint when there are transactions whose completion is waited for with SIM_transaction_wait. In such cases, one can advance simulation to the point where no calls to SIM_transaction_wait are in progress and then save a checkpoint. The following command advances simulation to such a point:
bp.notifier.run-until name = transaction-wait-all-completed

In Simics scripts one can use the following code snippet to ensure that a checkpoint is saved when no calls to SIM_transaction_wait are in progress:

if (list-transactions -show-only-waited) {
    bp.notifier.run-until name = transaction-wait-all-completed
}
write-configuration my_checkpoint.ckpt

Attributes

transactions
Optional attribute; read/write access; type: [[[o|n,is]*]*]
List with deferred transaction chains, where each element is of the form [owner, id, state], where state is one of '', 'monitored', 'chained', or 'deferred'

Provided By

Simics Core
trans-staller transaction_splitter