defnTransaction
Transaction Level Modelling Definitions
Design(2f)defnTransaction/attachments/transaction-atom-quark.png)
Transaction
A transaction is the entire data transfer between a Master and a Slave.
The data may predominantly flow from Master to Slave, or from Slave to Master.
The data may be any size, a few bits, several bytes of even megabytes. It may represent anything.
Phase or Atom
During a transaction, depending on the Protocol of the communication channel or bus, the communication may pass through several Phases. Once a Phase has commenced on the communication channel, it can not be interrupted by anything else. (It may of course finish sooner than expected with some form of error).
A Phase typically transmits data in one direction. The three typical examples are:
- a "request" phase this is used to initialise the transaction and inform both parties of the intent of the transaction.
- the "Data" phase this is used to transmit the majority of the data (though some of it may be transmitted in the request or response phases)
- a "response" phase this is used to signal the end of the transaction, and any final status.
Sometimes a number of "Phases" are grouped together in order to identify all the data passed either between the Master and Slave (the Request Phases) or the Slave and Master (the Response Phases).
Attributes or Quark
Any communication is made up of a number of pieces of control information and data. Each such piece is called an attribute. A communication is said to have a "Read/Write" attribute if there is a piece of (control) information passed between master and slave that indicates if the communication is a read or a write.
For inter-block System on Chip communication paths (busses) the attributes which are typical are command, address, data, and length.
Posted January 8th, 2008 by MarkBurton