i21555-scnd i2c-link-endpoint
Simics Reference Manual  /  5 Classes  / 

i2c-bus

Description

The i2c-bus class implements the functionality of an I2C bus, to which several I2C devices can connect.

Interfaces Implemented

conf_object, log_object, i2c_bus, i2c_slave, i2c_bridge, i2c_master

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.

Port Objects

port.SCL
i2c-bus.SCL – SCL clock signal
port.SDA
i2c-bus.SDA – SDA data signal

Commands for this class

Attributes

i2c_devices
Pseudo attribute; read-only access; type: [[si]*]
Contains a list of the devices connected to the bus. Each list entry is a list of (device, address) for each address that has a device connected. Devices connect themselves using the i2c_bus interface.
current_slave
Optional attribute; read/write access; type: o|n
The slave of the currently ongoing transaction, if any.
current_state
Optional attribute; read/write access; type: i
The current state of the bus, where 0 is idle, 1 is master transmit, 2 is master receive, 3 is slave transmit, and 4 is slave receive.
Optional attribute; read/write access; type: o|n
If set, the bus will try to share all communication with this i2c link object. This is useful when converting i2c devices to use the new interfaces i2c_link, i2c_slave and i2c_master, since it allows devices to be converted one by one. All connected slave devices are forwarded as slave devices in this i2c link object. Slave devices registered on the link will be accessible from master devices on this i2c bus, but only as long as all responses arrive immediately, i.e., as long as both the link and the slave device have zero latency.
first_read_request
Optional attribute; read/write access; type: b
When forwarding a connection to a slave device via an i2c_link object and in slave transmit mode, this attribute is true right after the start condition and before the first read request. Marks that the next read should not be preceded by an ack_read_request
sda_target
Optional attribute; read/write access; type: n|o|[os]
Describes where the outgoing SDA signal should be connected
i2c_device_state
Optional attribute; read/write access; type: [iiii]
List representing data state in the device

Provided By

i2c-bus

i2c-bus.SCL

Description

SCL clock signal

Interfaces Implemented

conf_object, log_object, signal

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.

i2c-bus.SDA

Description

SDA data signal

Interfaces Implemented

conf_object, log_object, signal

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.
i21555-scnd i2c-link-endpoint