Intel Acceleration Stack for Intel® Xeon® CPU with FPGAs Core Cache Interface (CCI-P) Reference Manual

ID 683193
Date 11/04/2019
Public
Document Table of Contents

1.2.2.2. FIU for Intel Integrated FPGA Platform

Figure 3.  FIU for Intel Integrated FPGA Platform Block Diagram

The Integrated FPGA Platform has three links connecting the FPGA to the processor: one Intel UPI coherent link and two PCIe Gen3x8 links. It is the function of the FIU to map these three links to the CCI-P interface, such that the AFU sees a single logical communication interface to the host processor with bandwidth equal to the aggregate bandwidth across the three links. Figure 1 shows only the FIU logic associated with mapping UPI and PCIe links to CCI-P.

FIU implements the following functionality for providing the CCI-P mapping:
  • Single logical upstream link: CCI-P maps the three physical links to four virtual channels. PCIe0 to VH0, PCIe1 to VH1, UPI to VL0 and all physical links to VA. An AFU using VA is agnostic of the physical links and it interfaces with a single logical link that can utilize the total upstream bandwidth available to the FPGA. VA implements a weighted de-multiplexer to route the requests to all of the physical links. To design a platform agnostic AFU, the VA virtual channel is the preferred choice.
  • Single point of control: FIU registers a single control interface with the system software stack. All driver interactions to the FIU are directed to PCIe-0. The AFU is discovered and enumerated over PCIe-0.
  • Single identity for VT-d provides a unified address space: All upstream requests use a single function number for address translation. For this reason, the Intel® Xeon® Scalable Platform with Integrated FPGA disables the IOMMU at PCIe-0 and PCIe-1 root ports and instead instantiates an IOMMU in FIU. This IOMMU is used for translating requests going upstream through all three physical links.

Similar to Intel® FPGA PAC, the Integrated FPGA Platform also implements a full set of services provided by the FME and CCI-P ports to deploy and manage the FPGA.