Read Transactions - 1.0 English

Versal ACAP Programmable Network on Chip and Integrated Memory Controller LogiCORE IP Product Guide (PG313)

Document ID
PG313
Release Date
2022-12-14
Version
1.0 English
Figure 1. Read Transactions

A summary of NoC behavior during a typical read transaction is as follows:

  1. The AXI master sends a read request to the NMU.
  2. The NMU performs the following functions:
    • Asynchronous crossing and rate-matching from the AXI master clock domain to the NoC clock domain.
    • Destination lookup of the target NSU.
    • Address remapping (in cases of virtualization).
    • AXI conversion of the read request (AxAddr, AxSize, AxLen, AxBurst, AxCache) from the AxSizeMaster to the AxSizeNoC.
    • Read chopping.
    • Read tagging and read-reorder buffer entry insertion to keep track of out-of-order read data returns.
    • Packetizes the read request into the NoC Packet Protocol (NPP) format, performs rate limiting, and ECC generation.
    • VC-mapping, VC-arbitration, and Data Bus Inversion (DBI) generation before sending the packet to the NoC channel.
  3. The NMU forwards the NPP to an NPS in the system.
  4. The NPS performs the following functions:
    • Destination table lookup for the target out port.
    • Least Recently Used (LRU) arbitration at the output port.
  5. The NPP packets are passed through a single NPS or multiple NPSs before they reach the destination NSU.
  6. At the destination, the NSU performs the following functions:
    • De-packetizes the read request and performs ECC checking and correction.
    • AXI-ID compression and AXI exclusive access monitoring.
    • Read chopping for downsizing.
      • Read tracker entry insertion to keep track of read data interleaving from the NoC slave.
    • AXI conversion of the request from the AxSizeNoC to the AxSizeSlave.
    • Asynchronous crossing and rate-matching from the NoC clock domain to the AXI slave clock domain.
    • Sending the AXI format read request to the NoC slave AXI.
  7. The read request is processed by the slave AXI, which returns the response to the NSU.
  8. The NSU performs the following functions:
    • Asynchronous crossing and rate-matching from the AXI slave clock domain to the NoC clock domain.
      • AXI conversion of the read response from the AxSizeSlave to the AxSizeNoC.
      • Re-assembly of the read data in the read tracker to match the AxSizeNoC.
    • Packetizing of the read response into the NPP packet format and ECC generation.
    • VC-mapping and VC-arbitration before sending the packet to the NoC channel.
  9. The NPP formatted read response packets (probably) pass through multiple NPSs before reaching the NMU.
  10. When the read response packets reach the NMU, it performs the following functions:
    • Data Bus Inversion (DBI) and ECC checking. ECC correction and de-packetizing of the read response.
      • Re-assembly and reordering of the read data into the request order and AxSizeMaster boundary.
    • AXI conversion of the read response data from the AxSizeNoC to the AxSizeMaster.
    • Asynchronous crossing and rate-matching from the NoC clock domain to the PL master clock domain.
    • Returns the AXI read response to the NoC master AXI.