1.3 Demo Design
(Ask a Question)The following figure shows the top-level block diagram of the PCIe Root Port design. The PolarFire PCIe Root port can establish a PCIe link with any PCIe Endpoint or Bridge. The user application enumerates the Endpoint device using the ECAM (enhanced configuration access mechanism) feature. The user application also initiates the AXI transactions from the Root port. These AXI transactions are converted to PCIe Configuration space or memory transactions (CfgWr/CfgRd/MWr/MRd) to Endpoint.
As shown in above figure, the following points describe the data flow in the PCIe Root Port design:
- The MIV_ESS_C0 UART block interfaces with the GUI.
- The Mi-V soft processor reads/writes data to the MIV_ESS_C0 UART block through the core MIV_ESS_C0 APB.
- The Mi-V soft processor forwards the corresponding PCIe command to the PF_PCIE_0 block through the PCIe_APB/PCIe_AXI slave interface.
- The PCIe request and completion TLPs are transmitted and received between the Root Port and the Endpoint through the serial link.
- Inbound TLPs are reflected as AXI transactions on the AXI_1_master port of PF_PCIE.
- The Mi-V soft processor uses the PCIe_AXI bus interface to read the data from AXI_1_SLAVE.
- The Mi-V soft processor uses the core MIV_ESS_C0 APB and writes the data to the MIV_ESS_C0 UART slave interface to forward the data to the GUI.
As shown in above figure, the following points describe the DMA flow from Root Port to Endpoint:
- The Mi-V soft processor enumerates the Endpoint by accessing the Root Port and the Endpoint configuration space through the SLAVE ATR0 path.Important: ATRs (address translation registers) perform address translation from PCIe address space to the AXI master. For more information about ATRs, see PolarFire Family PCI Express User Guide .
- The Mi-V soft processor accesses the Endpoint BAR 0/2 through the SLAVE ATR 0/1 path.
- The Mi-V soft processor accesses the Root Port LSRAM memory through the SLAVE ATR 3 path.
- The DMA is performed according to the user selection on the GUI application.