PCI-Express Multi-Function
PCI Express allows to establish several endpoints - so-called functions - in the same FPGA, which share the common PCI Express connection. An external switch is not necessary. The great advantage of multi-function endpoints is that to each physical function its own driver can be assigned, which significantly simplifies software development.
Most FPGA device families support multi-function, but only at a very low level. Our DMA IP cores offer a mature solution with or without DMA support. Thus, the user does not have to deal with the correct setting up of PCI Express TLPs and can exchange data with the core alone (without PCI Express protocol) via industry standard interfaces (AXI, AXI Stream).
The Xilinx PCIe hardmacros of the 7 series do not support Multi-Function out of the box. The patented Smartlogic Multi-Function IP core addition (optional addition to our multi channel DMA cores) solves this limitation by adding up to 6 physical PCIe functions to the PCIe hard block. Compared to a pure PCIe soft core solution, only a fraction of the FPGA resources are required, so that the IP Core can fit into even the smallest Artix device.
Download a free evaluation for different demo boards (AC701 / KC705 / Cyclone 5 GT) with user guide and manual in the IP Evaluation section.
More details can be found in our data sheet
Application example
A concrete example is to realize 4 functions, two UARTs, one IIC interface and a customer specific DMA transfer using 4 drivers.