Skip to main content
Log in

VerCoLib: Fast and Versatile Communication for FPGAs via PCI Express

  • Published:
Journal of Signal Processing Systems Aims and scope Submit manuscript

Abstract

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 via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13

Similar content being viewed by others

Notes

  1. https://github.com/TI-Bonn/vercolib_pcie

References

  1. ARM Ltd. (2010). AMBA AXI4-stream protocol specification v1.0. http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0051a/index.html.

  2. Billauer, E. Xillybus. http://xillybus.com.

  3. 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.

    Article  Google Scholar 

  4. 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.

  5. 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.

    Article  Google Scholar 

  6. Northwest Logic. (2017). PCI express solution. http://nwlogic.com/products/pci-express-solution/.

  7. PCI-SIG. (2009). PCI express base specification revision 2.1.

  8. Simonyan, K., & Zisserman, A. (2014). Very deep convolutional networks for large-scale image recognition. arXiv:1409.1556.

  9. 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.

  10. 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.

  11. Xilinx Inc. (2016). 7 Series FPGAs integrated block for PCI Express v2.2 product guide for Vivado design suite.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Oğuzhan Sezenlik.

Additional information

Publisher’s Note

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.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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 92, 1177–1186 (2020). https://doi.org/10.1007/s11265-019-01465-6

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11265-019-01465-6

Keywords

Navigation