AXI Streaming Intel® FPGA IP for PCI Express* User Guide
ID
790711
Date
4/12/2024
Public
A newer version of this document is available. Customers should click here to go to the newest version.
1. Introduction
2. Features
3. Getting Started with the AXI Streaming Intel® FPGA IP for PCI Express*
4. IP Architecture and Functional Description
5. AXI Streaming Intel® FPGA IP for PCI Express* Parameters
6. Interfaces and Signals
7. Register Descriptions
8. Document Revision History for the AXI Streaming Intel® FPGA IP for PCI Express* User Guide
A. Specifications
B. Simulating the Design Example
1.1. Goal of the AXI Streaming Intel® FPGA IP for PCI Express* User Guide
1.2. Intended Audience for the AXI Streaming Intel® FPGA IP for PCI Express* User Guide
1.3. What is PCI Express* ?
1.4. What are the Intel® FPGA IPs for PCI Express* ?
1.5. What is the AXI Streaming Intel® FPGA IP for PCI Express* ?
1.6. Example Use Models
1.7. Design Flow Requirements
3.1. Download and Install Quartus Software
3.2. Obtain and Install Intel FPGA IPs and Licenses
3.3. Configure and Generate the AXI Streaming Intel® FPGA IP for PCI Express*
3.4. Instantiate and Connect the AXI Streaming Intel® FPGA IP for PCI Express* Interfaces
3.5. Simulate the AXI Streaming Intel® FPGA IP for PCI Express* IP Variant
3.6. Compile the AXI Streaming Intel® FPGA IP for PCI Express* IP Variant
3.7. Software Drivers for AXI Streaming Intel® FPGA IP for PCI Express* IP Variant
3.8. Build the Application for the AXI Streaming Intel® FPGA IP for PCI Express* IP Variant
3.9. Verification with the AXI Streaming Intel® FPGA IP for PCI Express* IP Variant
3.10. Debugging with the AXI Streaming Intel® FPGA IP for PCI Express* IP Variant
4.1. Clocks and Resets
4.2. PCIe Hard IP (HIP)
4.3. HIP Interface (IF) Adaptor
4.4. Application Error Reporting
4.5. Debug Toolkit and Hard IP (HIP) Reconfiguration Interface
4.6. Configuration Space Extension
4.7. Control Shadow
4.8. Configuration Intercept Interface
4.9. Power Management
4.10. Legacy Interrupt
4.11. Credit Handling
4.12. Completion Timeout
4.13. Transaction Ordering
4.14. Page Request Service (PRS) Events
4.15. TX Non-Posted Metering Requirement on Application
4.16. MSI Pending
4.17. D-State Status
4.18. Configuration Retry Status Enable
4.19. AXI-Streaming Interface
4.20. Precision Time Measurement (PTM) [F/R-Tiles Only]
6.1. Overview
6.2. Clocks and Resets
6.3. Application Packet Interface
6.4. Configuration Extension Bus Interface
6.5. Configuration Intercept Interface
6.6. Function Level Reset Interface
6.7. Control Shadow Interface (st_ctrlshadow)
6.8. Completion Timeout Interface (st_cplto)
6.9. Miscellaneous Signals
6.10. Control and Status Register Responder Interface (lite_csr)
6.11. VF Error Flag Interface (vf_err/sent_vfnonfatalmsg)
6.12. VIRTIO PCI* Configuration Access Interface
6.13. Serial Data Signals
7.3.1.1. AXI Streaming Intel® FPGA IP for PCI Express* Version
7.3.1.2. AXI Streaming Intel® FPGA IP for PCI Express* Features
7.3.1.3. AXI Streaming Intel® FPGA IP for PCI Express* Interface Attributes
7.3.1.4. ERROR GEN CTRL
7.3.1.5. ERROR GEN ATTR
7.3.1.6. ERROR TLP Header DW0-3
7.3.1.7. ERROR TLP Prefix
7.3.1.8. HOT PLUG GEN CTRL
7.3.1.9. POWER MANAGEMENT CTRL
7.3.1.10. LEGACY INTERRUPT CTRL
7.3.1.11. CFG REG IA CTRL
7.3.1.12. CFG REG IA FN NUM
7.3.1.13. CFG REG IA WRDATA
7.3.1.14. CFG REG IA RDDATA
7.3.1.15. PRS CTRL
7.3.1.16. MSI PENDING CTRL
7.3.1.17. MSI PENDING
7.3.1.18. D-STATE STS
7.3.1.19. CFG RETRY CTRL
7.3.3.1. PERFMON CTRL
7.3.3.2. TX MRD TLP
7.3.3.3. TX MWR TLP
7.3.3.4. TX MSG TLP
7.3.3.5. TX CFGWR TLP
7.3.3.6. TX CFGRD TLP
7.3.3.7. RX MRD TLP
7.3.3.8. RX MWR TLP
7.3.3.9. RX MSG TLP
7.3.3.10. RX CFGWR TLP
7.3.3.11. RX CFGRD TLP
7.3.3.12. TX MEM DATA
7.3.3.13. TX CPL DATA
7.3.3.14. RX MEM DATA
7.3.3.15. RX CPL DATA
1.4. What are the Intel® FPGA IPs for PCI Express* ?
The Intel FPGA devices offer a wider variety of IPs for users to implement PCI Express* in their designs. Along with the AXI Streaming Intel® FPGA IP for PCI Express* , the table below shows the various Intel IPs that integrate PCIe* as part of the IP. Features that are enabled are indicated by an “X” in the table below. If you select an IP below that does not support a required feature, you can implement it in your application logic. For example, TLP Packet Formation in the AVST IP will need to be handled by the application logic.
- Avalon® Streaming Intel® FPGA IP for PCI Express* :
- Multi Channel DMA Intel® FPGA IP for PCI Express*
- Scalable Switch Intel® FPGA IP for PCI Express*
- AXI Streaming Intel® FPGA IP for PCI Express*
Features | Avalon® Streaming | Multi Channel DMA | Scalable Switch | AXI Streaming | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Tile | P | F | R | P | F | R | P | F | R | P | F | R |
Device / IP | ||||||||||||
Agilex™ 7 device support | X | X | X | X | X | X | X | X | X | X | X | X |
Stratix® 10 device support | X | N/A | N/A | X | N/A | N/A | X | N/A | N/A | N/A | N/A | N/A |
Simulation support | X | X | X | X | X | X | X | X | X | X | X | X |
Hardware support | X | X | X | X | X | X | X | X | X | X | ||
Static port bifurcation | X | X | X | X | X | X | N/A | N/A | N/A | X | X | X |
Independent Reference clock support for 2x8 bifurcated port | X | X | X | X | X | X | N/A | N/A | N/A | X | X | X |
Independent PERST support (GPIO) | X | X | X | X | X | X | N/A | N/A | N/A | X | X | X |
Independent PERST support (pin) | X* | N/A | N/A | N/A | X* | |||||||
(* For select Agilex™ I-Series devices only) | ||||||||||||
Autonomous HIP | X | X | X | X | X | X | N/A | N/A | N/A | X | X | X |
Configuration via Protocol (CvP) (Init, Update) | X | X | X | X | X | X | N/A | N/A | N/A | X | X | X |
TLP packet formation | X | X | X | |||||||||
Link partner credit handling | X | X | X | |||||||||
Transaction ordering | X | X | X | X | X | X | ||||||
Completion reordering | X | X | X | |||||||||
Device-dependent programmable application clock frequency | X | X | X | X | X | X | X | X | X | X | X | X |
Avalon streaming interface support | X | X | X | X | X | X | X | X | X | |||
Avalon Memory-Mapped interface support | X | X | X | |||||||||
AXI-4 streaming interface support (datapath) | X | X | X | |||||||||
Error interface for application to report errors | X | X | X | X | X | X | X | X | X | |||
Completion timeout interface | X | X | X | X | X | X | ||||||
Configuration intercept interface | X | X | X | X | X | X | X | X | X | X | X | X |
Debug toolkit | X | X | X | X | X | X | ||||||
Design Example Generation | X | X | X | X | X | X | X | X | X* (Simulation only) | X* (Simulation only) | ||
Design Example Driver support | X | X | X | X | X | X | X | X | ||||
PCI Express* Features | ||||||||||||
Native Gen3 speed | X | X | X | X | X | X | X | X | X | X | X | X |
Native Gen4 speed | X | X | X | X | X | X | X | X | X | X | X | X |
Native Gen5 speed | X | X | X | |||||||||
Multi-lane link (x16, x8, x4) | X | X | X | X | X | X | X | X | X (x4, x8 only) | X* | X* | X* |
(* Only x16 and x8 supported currently) | ||||||||||||
Native Endpoint | X | X | X | X | X | X | N/A | N/A | N/A | X | X | X |
Root Port | X | X | X | X | X | X | N/A | N/A | N/A | |||
Transaction layer bypass (TL Bypass) | X | X | X | N/A | N/A | N/A | ||||||
Separate reference clock with Independent Spread Spectrum Clocking (SRIS) | X | X | X | X | X | X | X | X | X | X | X | X |
Separate Reference clock with no Spread Spectrum Clocking (SRNS) | X | X | X | X | X | X | X | X | X | X | X | X |
Common reference clock architecture | X | X | X | X | X | X | X | X | X | X | X | X |
Advanced error reporting (AER) | X | X | X | X | X | X | X | X | X | X | X | X |
Up to 512-byte maximum payload size (MPS) | X | X | X | X | X | X | X | X | X | X | X | X |
Up to 4096-byte (4K) maximum read request size (MRRS) | X | X | X | X | X | X | X | X | X | |||
32/64-bit BAR support (prefetchable/non-prefetchable) | X | X | X | X | X | X | X | X | X | X | X | X |
Expansion ROM BAR support | X | X | X | X | X | X | X | X | X | |||
Single virtual channel (VC) | X | X | X | X | X | X | X | X | X | X | X | X |
MSI (Capability registers only) | X | X | X | X | X | X | X | X | X | X | X | X |
MSI-X (Capability registers only) | X | X | X | X | X | X | X | X | X | X | X | X |
PM (Capability registers only) | X | X | X | X | X | X | X | X | X | |||
PRS (Capability registers only) | X | X | X | X | X | X | X | X | X | |||
LTR (Capability registers only) | X | X | X | X | X | X | ||||||
ACS (Capability registers only) | X | X | X | X | X | X | ||||||
Vendor specific (Capability registers only) | X | X | X | X | X | X | X | X | X | |||
10-bit tag support | X | X | X | X | X | X | X | X | X | X | X | X |
MSI-X Table | X | X | X | |||||||||
Address Remapping Between Remote Host and Local Fabric Address Map (Device-ATT) (* Root Port only) | X* | X* | X* | |||||||||
Multi-function and virtualization | ||||||||||||
Single root IO virtualization (SR-IOV) | X | X | X | X | X | X | X | X | X | X | X | X |
Functional level reset (FLR) | X | X | X | X | X | X | X | X | X | X | X | X |
TLP processing hint (TPH) | X | X | X | X | X | X | X | X | X | X | X | X |
Alternative Routing-ID Interpretation (ARI) | X | X | X | X | X | X | X | X | X | |||
Address Translation Services (ATS) | X | X | X | X | X | X | X | X | X | X | X | X |
Process Address Space ID (PasID) | X | X | X | X | X | X | X | X | X | |||
VirtIO (Capability registers only) | X | X | X | X | X | X | X | X | X |
Note: For more details on the support for the features in the table above, refer to the respective IP User Guides.
Refer to the Intel FPGA PCI Express IP Support Center for details on each IP.