HOME   PREV   NEXT (Work In Progress)

Transactors (four possible layouts?)

An (ESL) Electronic System Level transactor converts from a hardware to a software style of component representation. A hardware style uses shared variables to represent each net, whereas a software style uses callable methods and up-calls. Transactors are frequently required for busses and I/O ports. Fortunately, formal specifications of such busses and ports are becoming commonly available, so synthesising a transactor from the specification is a natural thing to do.

A transactor tends to have two ports, one being a net-level interface and the other with a thread-oriented interface defined by a number of method signatures. The thread-oriented interface may be a target that accepts calls from an external client or it may be an initiator that make calls to a remote client. The calls may typically be blocking to implement flow control.

There are four forms of transactor for a given bus protocol. Either side may be an initiator or a target, giving four possibilities.

The initiator of a net-level interface is the one that asserts the command signals that take the interface out of its starting or idle state. The initiator for an ESL/TLM interface is the side that makes a subroutine or method call and the target is the side that provides the entry point to be called.