AXI Streaming Intel® FPGA IP for PCI Express* User Guide

ID 790711
Date 2/12/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

2.1. Supported Features

The AXI Streaming Intel® FPGA IP for PCI Express* provides you control over the PCIe HIP, by providing you with finer control over the PCIe Transaction Layer Packet (TLP), credit handling and various modes directly to the application layer. The IP sends TLPs received from the Link to the user logic side with some additional information like BAR number, function number, etc. The IP supports the following features:

PCIe* Features:

  • Complete protocol stack including the Transaction, Data Link, and Physical Layers implemented as Hard IP.
  • Configurations supported:
    Gen3/Gen4/Gen5 1x16 Gen4 1x8 Gen3/Gen4/Gen5 2x8
    Endpoint (EP) Yes Yes Yes
    Note:
    1. Currently supported with Intel Agilex® 7 devices with P-Tile (e.g., AGFB014R24B2E2V), Intel Agilex® 7 devices with F-Tile (e.g., AGIB027R29A1E2VR2), and Intel Agilex® 7 devices with R-Tile (e.g., AGIB027R29A1E2VR3).
    2. Gen1/Gen2 configurations are supported via link down-training.
  • Static port bifurcation: two x8s endpoints
  • Clocking architecture:
    • Separate reference clock with independent spread spectrum clocking (SRIS)
    • Separate reference clock with no spread spectrum clocking (SRNS)
    • Common reference clock architecture
  • Single Virtual Channel (VC)
  • Capability Registers:
    • Message Signaled Interrupt (MSI)
    • Message Signal Interrupt Extended (MSI-X)
    • Advanced Error Reporting (AER) (PF only)
    • Power Management (PM – D0 and D3 PCIe* power states) (PF only)
    • Alternative Routing ID (ARI)
    • Address Translation Services (ATS)
    • Page Request Service (PRS)
    • Transaction Processing Hints (TPH) ("No Steering Tag (ST)" mode only)
    • Access Control Services (ACS) (For ACS, only ports 0 and 1 are supported)
    • Latency Tolerance Reporting (LTR)
    • Process Address Space ID (PASID)
    • Vendor Specific Capability
  • PCI Express* Advanced Error Reporting (AER) (PF only)
  • Supports up to 512-byte maximum payload size (MPS)
  • Supports up to 4096-byte (4 KB) maximum read request size (MRRS)
  • 32/64-bit BAR support (Prefetchable/Non-Prefetchable)
  • Expansion ROM BAR support
  • Number of tags – 32, 64, 128, 256, 512, 768 (Gen5 x16 only)
  • Application error handling (UR/CA/Completion Timeout/Poison)
  • MSI support - Supports multiple MSI, per-vector masking

Multifunction and Virtualization Features (Optional):

  • SR-IOV support (Maximum 8PFs, 2048 VFs across all Endpoints in a design)
  • Supports single TLP prefix per TLP
  • Supports VIRTIO PCI* Configuration Registers
  • Function Level Reset (FLR) – communicated to application through separate interface

User Interface Features:

  • AXI4 (Streaming, Lite) user interface for data and control signals.
  • AXI Streaming Interface: There are separate interfaces for header and data in both the Transmit and Receive directions.
    • The AXI Streaming Source Interface comprises the master signals, and provides the start of the transaction.
    • The AXI Streaming Source Interface is a single stream interface.
    • The AXI Streaming Sink Interface comprises the slave signals, and provides the response to the transaction from the source.
    • The AXI Streaming Sink Interface provides support for basic bare metal mode (e.g., Single physical function, AER, etc.) and virtualization mode (e.g., Multiple physical functions, function level reset, etc).
    • Selects the application’s AXI streaming data bus width. The interface width is defined in terms of number of Bytes. This interface supports a scalable data bus width (32, 64, 128-byte widths) and frequency.
    • Supports the following data packing schemes:
      • HIP Native: Interface width, segment size of the AXI-ST interface are the same as those of the Native Hard IP.
      • Non-HIP Native/Compact: Interface width, segment size of the AXI-ST interface are different than those of the Native Hard IP.
    • Supports operating frequency selection options of 250, 350, 400, 470, 500 MHz. Refer to Device Family Support for the valid combinations of data bus width and frequencies.
  • AXI Lite Responder Interface
    • This is the Control and Status Register Interface to access registers implemented in the IP modules, including PCI* / PCIe* Configuration Registers of all Functions.
    • 32-bit or 64-bit at 100-250 MHz.
  • Configuration Extension Bus (CEB) Interface provided to extend the configuration capabilities beyond the PCI* / PCIe* capabilities and implement Customer Specific Capabilities.
  • Configuration Intercept Interface (CII) allows the application logic to detect the occurrence of a Configuration (CFG) request on the link and to modify its behavior.
    Note: This interface is mutually exclusive with the Configuration Extension Bus (CEB) interface.
    Note: This interface is provided so that the IP is backward compatible with any legacy application logic that relies on CII for their functionality. Newly defined application logic should avoid using the CII interface and move to the CEB interface.
  • Error reporting by the application logic: The IP implements Error Reporting registers. These registers allow user to indicate various errors. The IP then forwards this error information to the HIP block (UR/CA/Completion Timeout/Poison).
  • Supports Link Partner Credits (exposed via credit interface) - The IP exposes link partner credit to user in the Transmit and Receive directions depending on the tile used. The credits are advertised as a limit value specified in the PCIe* spec. You must check the availability of credits for transmitting and receiving the TLP.
  • Transaction ordering, deadlock avoidance
    • You must implement transaction ordering in the user application logic.
  • Control Shadow Interface provided to shadow the control information from control / command registers (Optional).
  • Completion timeout interface (Optional) - The PCIe* IP can optionally track outgoing non-posted packets to report completion timeout information to the application.
  • Supports Autonomous Hard IP mode - This mode allows the PCIe* Hard IP to communicate with the Host before the FPGA configuration and entry into User mode are complete.
    Note: Unless Readiness Notifications mechanisms are used, the Root Complex or system software must allow at least 1.0 s after a Conventional Reset of a device before it may determine that a device that fails to return a Successful Completion status for a valid Configuration Request is a broken device. This period is independent of how quickly Link training completes.
  • FPGA core configuration via Protocol (CvP Init and CvP Update) (Optional)
    Note: For Gen3, Gen4 and Gen5 x16 variants, Port 0 (corresponding to lanes 0 - 15) supports the CvP features. For Gen3, Gen4 and Gen5 x8 variants, only Port 0 (corresponding to lanes 0 - 7) supports the CvP features. Port 1 (corresponding to lanes 8 - 15) does not support CvP.
  • Debug Toolkit for register accesses and debug (Optional).
    Note: This feature is not supported in the current Intel® Quartus® Prime release.
  • Design example generation: Currently available when using P-Tile (Gen4 x16) and R-Tile (Gen5 x16).
  • Software Driver support.
    • Available along with the Design Examples and Intel Open FPGA Stack reference design.
      Note: This feature is not supported in the current Intel® Quartus® Prime release.