Services and Modeling for Embedded Software Development
Embecosm divider strip
Prev  Next

5.1.2.  Behavioral Diagrams

A sequence diagram, illustrating the handling of a read transaction for the design is shown in Figure 5.2. The Or1ksim wrapper class invokes the underlying Or1ksim ISS through its run function.

The run function executes without further interruption. Whenever it needs to read or write via the external bus, it uses the staticReadUpcall or staticWriteUpcall function. This in turn invokes the readUpcall function for the wrapper instance.

The various TLM 2.0 generic payload functions are used to set up the payload, before the payload is passed to the initiator port using its b_transport function (for simplicity the call to do_trans is omitted from the diagram). The packet is passed internally to the connected target port, where it invokes the handler function (loggerReadWrite) to handle the payload. The payload is modified as appropriate before being returned to the initiator.

Sequence diagram for a read transaction with the Or1ksim test model.

Figure 5.2.  Sequence diagram for a read transaction with the Or1ksim test model.


[Note]Note

All the actions in this diagram are synchronous. There is a single thread of control, which flows from the wrapper module to the logger module as a transaction is processed.

Embecosm divider strip