System-level FPGA device driver with high-level synthesis support
We can exploit the standardization of communication abstractions provided by modern high-level synthesis tools like Vivado HLS, Bluespec and SCORE to provide stable system interfaces between the host and PCIe-based FPGA accelerator platforms. At a high level, our FPGA driver attempts to provide CUDA...
Saved in:
Main Authors: | , , , , |
---|---|
Other Authors: | |
Format: | Conference or Workshop Item |
Language: | English |
Published: |
2015
|
Subjects: | |
Online Access: | https://hdl.handle.net/10356/81247 http://hdl.handle.net/10220/39202 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Nanyang Technological University |
Language: | English |
id |
sg-ntu-dr.10356-81247 |
---|---|
record_format |
dspace |
spelling |
sg-ntu-dr.10356-812472020-05-28T07:19:22Z System-level FPGA device driver with high-level synthesis support Vipin, Kizheppatt Shreejith, Shanker Gunasekera, Dulitha Fahmy, Suhaib A. Kapre, Nachiket School of Computer Engineering 2013 International Conference on Field-Programmable Technology (FPT) Computer Science and Engineering We can exploit the standardization of communication abstractions provided by modern high-level synthesis tools like Vivado HLS, Bluespec and SCORE to provide stable system interfaces between the host and PCIe-based FPGA accelerator platforms. At a high level, our FPGA driver attempts to provide CUDA-like driver behavior, and more, to FPGA programmers. On the FPGA fabric, we develop an AXI-compliant, lightweight interface switch coupled to multiple physical interfaces (PCIe, Ethernet, DRAM) to provide programmable, portable routing capability between the host and user logic on the FPGA. On the host, we adapt the RIFFA 1.0 driver to provide enhanced communication APIs along with bitstream configuration capability allowing low-latency, high-throughput communication and safe, reliable programming of user logic on the FPGA. Our driver only consumes 21% BRAMs and 14% logic overhead on a Xilinx ML605 platform or 9% BRAMs and 8% logic overhead on a Xilinx V707 board. We are able to sustain DMA transfer throughput (to DRAM) of 1.47GB/s (74% peak) of the PCIe (x4 Gen2) bandwidth, 120.2MB/s (96%) of the Ethernet (1G) bandwidth and 5.93GB/s (92.5%) of DRAM bandwidth. Accepted version 2015-12-22T09:03:43Z 2019-12-06T14:26:28Z 2015-12-22T09:03:43Z 2019-12-06T14:26:28Z 2013 Conference Paper Vipin, K., Shreejith, S., Gunasekera, D., Fahmy, S. A., & Kapre, N. (2013). System-level FPGA device driver with high-level synthesis support. 2013 International Conference on Field-Programmable Technology (FPT), 128-135. https://hdl.handle.net/10356/81247 http://hdl.handle.net/10220/39202 10.1109/FPT.2013.6718342 en © 2013 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works. The published version is available at: [http://dx.doi.org/10.1109/FPT.2013.6718342]. 8 p. application/pdf |
institution |
Nanyang Technological University |
building |
NTU Library |
country |
Singapore |
collection |
DR-NTU |
language |
English |
topic |
Computer Science and Engineering |
spellingShingle |
Computer Science and Engineering Vipin, Kizheppatt Shreejith, Shanker Gunasekera, Dulitha Fahmy, Suhaib A. Kapre, Nachiket System-level FPGA device driver with high-level synthesis support |
description |
We can exploit the standardization of communication abstractions provided by modern high-level synthesis tools like Vivado HLS, Bluespec and SCORE to provide stable system interfaces between the host and PCIe-based FPGA accelerator platforms. At a high level, our FPGA driver attempts to provide CUDA-like driver behavior, and more, to FPGA programmers. On the FPGA fabric, we develop an AXI-compliant, lightweight interface switch coupled to multiple physical interfaces (PCIe, Ethernet, DRAM) to provide programmable, portable routing capability between the host and user logic on the FPGA. On the host, we adapt the RIFFA 1.0 driver to provide enhanced communication APIs along with bitstream configuration capability allowing low-latency, high-throughput communication and safe, reliable programming of user logic on the FPGA. Our driver only consumes 21% BRAMs and 14% logic overhead on a Xilinx ML605 platform or 9% BRAMs and 8% logic overhead on a Xilinx V707 board. We are able to sustain DMA transfer throughput (to DRAM) of 1.47GB/s (74% peak) of the PCIe (x4 Gen2) bandwidth, 120.2MB/s (96%) of the Ethernet (1G) bandwidth and 5.93GB/s (92.5%) of DRAM bandwidth. |
author2 |
School of Computer Engineering |
author_facet |
School of Computer Engineering Vipin, Kizheppatt Shreejith, Shanker Gunasekera, Dulitha Fahmy, Suhaib A. Kapre, Nachiket |
format |
Conference or Workshop Item |
author |
Vipin, Kizheppatt Shreejith, Shanker Gunasekera, Dulitha Fahmy, Suhaib A. Kapre, Nachiket |
author_sort |
Vipin, Kizheppatt |
title |
System-level FPGA device driver with high-level synthesis support |
title_short |
System-level FPGA device driver with high-level synthesis support |
title_full |
System-level FPGA device driver with high-level synthesis support |
title_fullStr |
System-level FPGA device driver with high-level synthesis support |
title_full_unstemmed |
System-level FPGA device driver with high-level synthesis support |
title_sort |
system-level fpga device driver with high-level synthesis support |
publishDate |
2015 |
url |
https://hdl.handle.net/10356/81247 http://hdl.handle.net/10220/39202 |
_version_ |
1681059256784125952 |