F-Tile Avalon® Streaming Intel® FPGA IP for PCI Express* User Guide

ID 683140
Date 7/14/2022
Public

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

Document Table of Contents

4.1.1. Single Root I/O Virtualization (SR-IOV)

The F-Tile IP for PCIe supports SR-IOV. The endpoint port controllers in the IP support up to eight physical functions (PF) and 2048 virtual functions (VF) per SR-IOV endpoint. The VF configuration space registers are hardened in the F-Tile hence it does not require FPGA fabric resources. The specific VF-based work queues and interrupt tables must be implemented in the FPGA fabric by the user application.

Table 26.  SR-IOV Supported Features List
Feature Support
SR-IOV

Supported in x16/x8 controller EP mode.

Not supported in RP mode.

MSI

Supported in PFs only. Not supported in VFs.

No Per Vector Masking (PVM). If you need PVM, you must use MSI-X.

Note: When SR-IOV is enabled, either MSI or MSI-X must be enabled.
MSI-X

Supported by all PFs.

For SR-IOV, PFs and VFs are always MSI-X capable.

Note: VFs share a common Table Size. VF Table BIR/Offset and PBA BIR/Offset are fixed at compile time.
Note: When SR-IOV is enabled, either MSI or MSI-X must be enabled.
Function Level Reset (FLR)

Supported by all PFs/VFs.

Required for all SR-IOV functions.

Extended Tags

Supported by all PFs/VFs. The Extended Tags feature allows the TLP Tag field to be 8-bit, thus allowing the support of 256 tags.

Note that the application is restricted to a max of 256 outstanding tags, at any given time, for all functions combined.

The application logic is responsible for implementing the tag generation/tracking functions.

10-bit Tags

Supported by all PFs

x16 supports 10-bit tag completer and requester capability.

x8 supports 10-bit tag completer capability.

AER PFs are always AER capable. No AER implemented for VFs.
Active-State Power Management (ASPM) Optionality Compliance

Supported by all PFs/VFs.

Only used to indicate ASPM is not supported.

Atomic Ops

Requester capability is supported by all PFs/VFs.

Completer capability is supported.

Compare and Swap (CAS) AtomicOps are also supported. They can handle up to 128-bit operands.

Internal Error Reporting

Supported by all PFs (because all PFs are AER capable). No support for VFs (because VFs do not support AER).

TLP Processing Hints

2-bit Processing Hint and 8-bit Steering Tag are supported by all PFs/VFs. TPH Prefixes are not supported.

You can optionally choose to enable the TPH Requestor capability. However, the IP is always TPH Completer capable.

ID-Based ordering

Supported by all PFs/VFs.

However, the IP core does NOT perform the reordering. The Application Layer must do this.

The IP core only provides the IDO Request & Completion Enable bits in the Device Control 2 register. This gives the application permission to set the Attr bits in Requests and Completions that it transmits.

Note: Reordering capability on the RX side may be limited by your bypass queue. On the TX side, the IP core does not set the IDO bits on internally generated TLPs.
Relaxed Ordering

Implemented on the RX side. This feature is always active.

On the TX side, reordering is done by the application.

Alternative Routing ID Interpretation (ARI)

EP (PFs/VFs) is always ARI capable. This is a device-level option (all lanes or none will support ARI).

In addition, RP will always be ARI capable (ARI Forwarding Supported bit is always 1).

Address Translation Service (ATS) Supported by all EP PFs/VFs.
Page Request Service Interface (PRI) Supported by all EP PFs/VFs.
User Extensions (Customer VSEC) Supported by all PFs/VFs.
Gen3 Receiver Impedance (3.0 ECN) Supported
Device Serial Number Supported
Completion Timeout Ranges (Device Capabilities 2) All ranges are supported.
Data Link Layer Active Reporting Capability (Link Capabilities) This capability is always supported in RP mode, but not in EP mode.
Surprise Down Error Reporting Capability (Link Capabilities) Supported
PM-PCI Power Management Only D0/D3 states are supported.
ASPM (L0s/L1) Not supported
Process Address Space ID (PASID) Supported
TLP prefix Supported, mainly for PASID
Latency Tolerance Reporting (LTR) Supported (only for PASID)
Access Control Services Supported