GTS AXI Streaming Intel® FPGA IP for PCI Express* Design Example User Guide
ID
817713
Date
5/09/2024
Public
A newer version of this document is available. Customers should click here to go to the newest version.
1.1. Programmed Input/Output Design Example
The GTS AXI Streaming IP design example serves as a known established working design to verify the PCIe* Gen4 link and functionality on the Agilex™ 5 FPGA board. The GTS AXI Streaming IP runs up to 350 MHz at the user interface with a maximum data width of 256 bits for PCIe* 4.0 x4 link. The clock frequency is supplied from the coreclkout_hip_toapp to axi_st_clk, which is limited to 350 MHz.
The design example consists of 3 main components:
- Generated GTS AXI Streaming IP as Endpoint Variant (DUT)
- Programmable I/O Application (PIO)
- On-Chip Memory (MEM)
The GTS AXI Streaming IP design under test (DUT) is configured as an Endpoint receiving the PIO transactions from the root complex over the PCIe* link and transferring them to the PIO application module. The TLP received in the PIO application module is decoded and converted into Avalon® memory-mapped interface format. Depending on the received instruction, the on-chip memory is the targeted space to store or read data.
The PIO design example automatically creates the required files for simulation and compilation in the Quartus® Prime software. However, it does not cover all possible GTS AXI Streaming IP parameterizations.
Below are the limitations of the design example:
- There is no support on the back-to-back TLP packets from the host processor.
- TLP prefix is not used and intended with Single Physical Function (PF).
- There is no requirement for error message, interrupt or status bit toggling handling.
- The backpressure mechanism of the DUT is handled through the ready signal. Besides ready, receive (RX) signals can also be backpressured through p0_app_ss_st_rx_tuser_halt. There is also the (transmit) TX credit mechanism of back pressure.
- Does not include the full features of the GTS AXI Streaming IP.
Figure 1. PCIe* 4.0 x4 Design Example Variant Block Diagram