PCI Express plays a vital role in including FPGA accelerators into high-performance computing systems. This also includes direct communication between multiple FPGAs, without any involvement of the main memory of the host. We present a highly configurable hardware interface that supports DMA-based connections to a host system as well as direct communication between multiple FPGAs. Our implementation offers unidirectional channels to connect FPGAs, allowing for precise adaptation to all kinds of use cases. Multiple channels to the same endpoint can be used to realise independent data transmissions. While the main focus of this work is flexibility, we are able to show maximum throughput for connections between two FPGAs and up to 92% of the available bandwidth for connections between the FPGA and the host system.
This is a preview of subscription content, log in to check access.
Buy single article
Instant access to the full article PDF.
Price includes VAT for USA
Subscribe to journal
Immediate online access to all issues from 2019. Subscription will auto renew annually.
This is the net price. Taxes to be calculated in checkout.
ARM Ltd. (2010). AMBA AXI4-stream protocol specification v1.0. http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0051a/index.html.
Billauer, E. Xillybus. http://xillybus.com.
De la Chevallerie, D., Korinth, J., Koch, A. (2016). fflink: A lightweight high-performance open-source pci express gen3 interface for reconfigurable accelerators. SIGARCH Comput. Archit. News, 43(4), 34–39. https://doi.org/10.1145/2927964.2927971.
Gong, J., Wang, T., Chen, J., Wu, H., Ye, F., Lu, S., Cong, J. (2014). An efficient and flexible host-fpga pcie communication library. In: 2014 24th international conference on field programmable logic and applications (FPL), pp. 1–6. https://doi.org/10.1109/FPL.2014.6927459.
Jacobsen, M., Richmond, D., Hogains, M., Kastner, R. (2015). Riffa 2.1: A reusable integration framework for fpga accelerators. ACM Trans. Reconfigurable Technol. Syst., 8(4), 22:1–22:23. https://doi.org/10.1145/2815631.
Northwest Logic. (2017). PCI express solution. http://nwlogic.com/products/pci-express-solution/.
PCI-SIG. (2009). PCI express base specification revision 2.1.
Simonyan, K., & Zisserman, A. (2014). Very deep convolutional networks for large-scale image recognition. arXiv:1409.1556.
Vesper, M., Koch, D., Vipin, K., Fahmy, S.A. (2016). Jetstream: An open-source high-performance pci express 3 streaming library for fpga-to-host and fpga-to-fpga communication. In: 2016 26th international conference on field programmable logic and applications (FPL), pp. 1–9. https://doi.org/10.1109/FPL.2016.7577334.
Vipin, K., & Fahmy, S.A. (2014). Dyract: A partial reconfiguration enabled accelerator and test platform. In: 2014 24th international conference on field programmable logic and applications (FPL), pp. 1–7. https://doi.org/10.1109/FPL.2014.6927507.
Xilinx Inc. (2016). 7 Series FPGAs integrated block for PCI Express v2.2 product guide for Vivado design suite.
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Oğuzhan Sezenlik and Sebastian Schüller contributed equally to this work.
About this article
Cite this article
Sezenlik, O., Schüller, S. & Anlauf, J.K. VerCoLib: Fast and Versatile Communication for FPGAs via PCI Express. J Sign Process Syst (2019). https://doi.org/10.1007/s11265-019-01465-6
- PCI Express