P-Tile Avalon® Streaming Intel® FPGA IP for PCI Express* Design Example User Guide

ID 683038
Date 4/04/2024
Public
Document Table of Contents

1.3. Functional Description for the Single Root I/O Virtualization (SR-IOV) Design Example

The SR-IOV design example performs memory transfers from a host processor to a target device. It supports up to two PFs and 32 VFs per PF.

The SR-IOV design example automatically creates the files necessary to simulate and compile in the Quartus® Prime software. You can download the compiled design to an Stratix® 10 DX Development Kit or an Agilex™ 7 Development Kit.

This design example includes the following components:

  • The generated P-Tile Avalon Streaming (Avalon-ST) IP Endpoint variant (DUT) with the parameters you specified. This component drives the received TLP data to the SR-IOV application.
  • The SR-IOV Application (APPS) component, which performs the necessary translation between the PCI Express TLPs and simple Avalon-ST writes and reads to the on-chip memory. For the SR-IOV APPS component, a memory read TLP generates a Completion with data.
    • For an SR-IOV design example with two PFs and 32 VFs per PF, there are 66 memory locations that the design example can access. The two PFs can access two memory locations, while the 64 VFs (2 x 32) can access 64 memory locations.
  • A Reset Release IP.

The simulation testbench instantiates the SR-IOV design example and a Root Port BFM to interface with the target Endpoint.

Figure 5. Block Diagram for the Platform Designer SR-IOV 1x16 Design Example Simulation Testbench
Figure 6. Block Diagram for the Platform Designer SR-IOV 2x8 Design Example Simulation Testbench

The test program writes to and reads back data from the same location in the on-chip memory across 2 PFs and 32 VFs per PF. It compares the data read to the expected result. The test reports, "Simulation stopped due to successful completion" if no errors occur.

The SR-IOV design example supports the following configurations:

  • Gen4 x16 512-bit (350 MHz or above) Endpoint
  • Gen3 x16 512-bit Endpoint
  • Gen4 x8x8 256-bit (350 MHz or above) Endpoint
  • Gen3 x8x8 256-bit Endpoint
Figure 7.  Platform Designer System Contents for P-Tile Avalon-ST with SR-IOV for PCI Express 1x16 Design Example
Figure 8.  Platform Designer System Contents for P-Tile Avalon-ST with SR-IOV for PCI Express 2x8 Design Example