PCI Express Gen3 Controller

Napatech Link-Capture™ Software Features

Platform
Intel® PAC
Napatech SmartNIC
Content Type
Feature Description
Capture Software Version
Link™ Capture Software 12.9

In this chapter

This chapter describes the PCI Express Gen3 controller on the SmartNICs, which handles the PCI Express interface to the host. The PCI Express configuration space as defined in Section 7 of PCIe3.0 is implemented within the PCI Express IP cores.

The PCIe block handles the data transfer between the host (server/motherboard) and the FPGA.

PCIe performance

The performance of a SmartNIC will depend on the slot in which it is mounted: A SmartNIC mounted in a slot supporting PCIe Gen1 will have Gen1 functionality, a SmartNIC mounted in a slot supporting PCIe Gen2 will have Gen2 functionality, and a SmartNIC mounted in a slot supporting PCIe Gen3 will have Gen3 functionality.

DMA data transfers

The PCI Express controllers implement a number of DMA channels for data exchange between the host memory and the FPGA. All DMA data transfers are initiated by the FPGA.

The FPGA can initiate a DMA read from data in host memory or a DMA write of data to the host memory.

Number of lanes

The PCI Express controllers support ×1, ×4, ×8 and ×16 lane operation depending on the number of available lanes in the physical connector in the host. The number of active lanes is determined during the PCI Express enumeration process at boot time.

Maximum number of lanes

This table shows the maximum number of lanes supported by the PCI Express controller on a SmartNIC for different physical connectors.

Routed Lines Physical Connector
×1 ×4 ×8 ×16
1-lane N/A N/A ×1 ×1
4-lane N/A N/A ×4 ×4
8-lane N/A N/A ×8 ×8
16-lane N/A N/A ×8 ×16

PCI Express throughput

The achievable PCI Express throughput from the FPGA to the host memory and from the host memory to the FPGA depends on a number of different factors, such as:

  • Number of active PCI Express lanes
  • PCI Express maximum transaction layer packet (TLP) size (MAX_PAYLOAD_SIZE)
  • Number of flow control credits
  • Number of completion resources

Maximum PCI Express throughput

This table shows the maximum theoretical PCI Express throughput as a function of the number of PCI Express lanes and MAX_PAYLOAD_SIZE.

MAX_PAYLOAD_SIZE [in bytes] PCI Express Throughput [in Gbit/s]
×4 ×8 ×16
128 27.4 54.9 109.7
256 29.3 58.7 117.3
512 30.4 60.8 121.5
Note: The actual PCI Express throughput also depends on the server chipset and server implementation.
Note: The available PCI Express bandwidth must be used for both data and frame overhead, such as packet descriptors.