Read Transaction Flow - 1.1 English

AXI Verification IP LogiCORE IP Product Guide (PG267)

Document ID
PG267
Release Date
2023-10-18
Version
1.1 English

An AXI slave read agent has two concurrent transaction flows:

  • Address channel servicing
  • Data channel serving

The address channel has its READY responses configured through the user environment. The data channel relies on the user environment for timing and payload generation. The transaction flows through the read agent in the following steps:

  1. Master read 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 slave driver waits for an ARADDR command.
  4. Only after the slave driver receives the completion ARADDR phase, it transfers the command object through the reactive port to the sequencer. The command information consists of the Command Information field with ARADDR, ARLEN, ARSIZE, ARID, and so on.
  5. The user environment creates a single transaction. The transaction contains the following:
    Payload
    RDATA byte array and RRESP array
    Slave Controlled Timing
    Inter-beat timing and data insertion delay
  6. The driver pops the transaction from the REQUEST port and places it on a queue to be processed and driven on the interface. If the system was idle at the time, the driver starts the slave data channel delay timer.
  7. After the expiration of the timer, the driver processes the beats of data to be driven on the interface. In the case of multiple transactions pending and the slave being configured to support read, it interleaves the beats of the pending transactions.
  8. Upon the acceptance of the last beat of a given command, if the transaction is configured to be returned to the user environment, the slave driver places it on the RESPONSE port to be sent.
  9. The user environment receives the completed transaction.