A newer version of this document is available. Customers should click here to go to the newest version.
A.1.1.4. AXI4-Lite PIO Manager
The AXI4-Lite PIO Manager bypasses the DMA block and provides a way for the Host to do MMIO reads/writes to the CSR registers of the user logic. PCIe BAR2 is mapped to the AXI4-Lite PIO Manager. Any TLP targeting BAR2 is forwarded to the user logic. TLP address targeting the PIO interface should be 8-byte aligned. The PIO interface supports non-bursting 64-bit write and read transfers only.
The AXI4-Lite PIO Manager is present only if you select the Multi Channel DMA User Mode for MCDMA Settings in the IP Parameter Editor. The AXI4-Lite PIO Manager is always present irrespective of the user interface type (AXI-S/AXI-MM) that you select.
PIO Address Mapping
The PIO interface address mapping is as follows: PIO address = {vf_active, pf [PF_NUM_W-1:0], vf [VF_NUM_W-1:0], address}
- vf_active: This indicates that SR-IOV is enabled.
- pf [PF_NUM_W-1:0]: Physical function number decoded from the PCIe header received from the HIP; PF_NUM_W, which is ($clog2(Number of PFs)), is the RTL design parameter selected by you so that the GTS AXI MCDMA IP only allocates the required number of bits on the AXI-MM side to limit the number of wires on the user interface.
- vf [VF_NUM_W-1:0]: Virtual function number decoded from the PCIe header received from the HIP; VF_NUM_W, which is ($clog2(Number of VFs)), is the RTL design parameter selected by you so that the GTS AXI MCDMA IP only allocates the required number of bits on the AXI-MM side to limit the number of wires on the user interface.
- address: Number of bits required for the BAR2 size requested across all Functions (PFs and VFs). Example: If BAR2 is selected as 4 MB, the address size is 22 bits.