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

ID 817713
Date 11/04/2024
Public
Document Table of Contents

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. PIO Design Example Variant Block Diagram