Write Transaction Flow - 1.1 English

AXI Verification IP LogiCORE IP Product Guide (PG267)

Document ID
Release Date
1.1 English

An AXI slave write agent has three concurrent transaction flows:

  • Address channel servicing
  • Data channel serving
  • Response channel generation

Both the address and data channels have their READY responses configured independently from the user environment. Only the response channel, B, relies on communication with the user environment to make forward progress. The transaction flows through the write agent in the following steps:

  1. Master write response driver performs a blocking get to the user environment through a get_next_item. Because the command has not yet been received, the user environment must wait until the command has been received from the master
  2. The user environment performs a blocking get, get_next_item, on the reactive port of the driver.
  3. The driver at this time can accept the incoming beats of WDATA and AWADDR and places them in a holding structure.
  4. Only after the slave driver receives the complete AWADDR phase and the WDATA phase, it transfers the command object through the reactive port to the user environment.
  5. The user environment determines the correct response to the request and puts the complete transaction on the REQUEST port of the driver. The transaction has:
    Command Information
    AWADDR, AWLEN, AWSIZE, AWID, etc. From the original command passed to the user environment.
    Response Controlled Timing and Response
    Response delay, BRESP.
  6. The driver pops the transaction from the REQUEST port and places it on the queue to be processed on the response interface and starts the response channel delay timer. It is possible that before the response channel delay timer has expired more than one transaction can exist in the response list. When there is more than one item on the response list, the driver selects the next response to be sent.
  7. When the transaction has been configured to be returned following a BRESP acceptance event, the slave driver fills in the beats WDATA and places it on the RESPONSE port of the driver.
  8. The user environment receives the completed transaction.
Figure 1. Write Transaction Flow