When Data Channel is enabled, you can access memory mapped registers located on the HPM through the AXI4-Lite slave port on the SCM. Memory mapped access requests are issued on the SCM AXI4-Lite port, packaged into an LTPI frame, transferred to the HPM via LTPI and reproduced into an AXI4-Lite memory mapped request on the AXI4-Lite master port on the HPM. Upon request on the AXI4-Lite master port on the HPM, the AXI4-Lite slave responds, the response is packaged into the LTPI frame, transferred via LTPI to the SCM, where it is reproduced on the AXI4-Lite slave port. Only one outstanding transaction is permitted, meaning that a request for a new transaction can be made only after the response for the previous one has been returned. See the following figure which describes the data path for a memory mapped data channel over LTPI.
LTPI frame as well as memory mapped request commands are described in the LTPI Specification r 1.2, v 1.0RC3 in tables 12 and 13.
Data channel allows abstraction of the memory mapped registers which are located on a separate board (HPM) by packaging those requests into LTPI data frames. This means that each request takes the time necessary to:
- Place a request on the SCM
- Form a frame
- Send it to the HPM
- Form a request on the far side (HPM)
- Wait for the memory mapped register’s response
- Receive a response
- Form a return frame
- Send it to the SCM
- Extract it from the frame and generate a response
This process takes time and means that each request on SCM side takes more than 10 LTPI frame periods to get a response. In the case of a slow AXI4-Lite slave on the HPM side, it could take significantly longer and in the case of an AXI4-Lite slave that is unresponsive, a timeout is necessary in order avoid stalling the system. The timeout is set so that:
- A lack of response data frame received on the SCM for 500 µs causes a
timeout. When a timeout occurs on the SCM side, an error response (code 10) is
returned via
bresporrresppins. - A lack of response on HPM AXI4-Lite master for
400 µs causes a timeout and generates a pulse on
axil_tooutput, which you can use to reset the AXI4-Lite slaves. In this case a response data frame with information that a timeout has occurred on the HPM is sent to the SCM.