Exploiting DSP block capabilities in FPGA high level design flows
The embedded DSP blocks in modern Field Programmable Gate Arrays (FPGAs) are highly capable and support a variety of different data path configurations. These evolved to support a range of applications requiring significant amounts of fast arithmetic. In addition to all the computational capabilitie...
Saved in:
Main Author: | |
---|---|
Other Authors: | |
Format: | Theses and Dissertations |
Language: | English |
Published: |
2017
|
Subjects: | |
Online Access: | http://hdl.handle.net/10356/69815 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Nanyang Technological University |
Language: | English |
id |
sg-ntu-dr.10356-69815 |
---|---|
record_format |
dspace |
spelling |
sg-ntu-dr.10356-698152023-03-04T00:52:36Z Exploiting DSP block capabilities in FPGA high level design flows Ronak Bajaj Suhaib A Fahmy School of Computer Science and Engineering DRNTU::Engineering::Computer science and engineering The embedded DSP blocks in modern Field Programmable Gate Arrays (FPGAs) are highly capable and support a variety of different data path configurations. These evolved to support a range of applications requiring significant amounts of fast arithmetic. In addition to all the computational capabilities, DSP blocks support runtime dynamic programmability, which allows a single DSP block to be used as a different computational block in every clock cycle. Vendor synthesis tools can infer the use of these resources but they do not exploit their full capabilities, especially the dynamic configuration. Specific language structures arc suggested for implementing standard applications but others that do not fit these standard designs can suffer from inefficient mapping. High-level synthesis (HLS) tools rely on the backend synthesis tools to map efficiently to the target architecture. This thesis explores how DSP blocks can be exploited to produce high throughput computational kernels at close the theoretical limit of the primitives, and how t heir dynamic programmability can be exploited to create efficient implementations. We show that this can be achieved using a high level description, but only by considering architectural information at higher levels. An automated tool flow is presented that takes a high-level description of a computational kernel in C and generates synthesisable Verilog that achieves performance close to theoretical limits of the DSP block with hand-optimised designs. We extend this tool to support proposed techniques for resource sharing of DSP blocks, adapting traditional approaches for the high latency of the DSP blocks, and also applying multi-pumping in this new context. This detailed design results in circuits that always operate at close to the theoretical limits, and offer full utilisation of the DSP block. Doctor of Philosophy (SCE) 2017-03-29T02:36:12Z 2017-03-29T02:36:12Z 2017 Thesis Ronak Bajaj. (2017). Exploiting DSP block capabilities in FPGA high level design flows. Doctoral thesis, Nanyang Technological University, Singapore. http://hdl.handle.net/10356/69815 10.32657/10356/69815 en 236 p. application/pdf |
institution |
Nanyang Technological University |
building |
NTU Library |
continent |
Asia |
country |
Singapore Singapore |
content_provider |
NTU Library |
collection |
DR-NTU |
language |
English |
topic |
DRNTU::Engineering::Computer science and engineering |
spellingShingle |
DRNTU::Engineering::Computer science and engineering Ronak Bajaj Exploiting DSP block capabilities in FPGA high level design flows |
description |
The embedded DSP blocks in modern Field Programmable Gate Arrays (FPGAs) are highly capable and support a variety of different data path configurations. These evolved to support a range of applications requiring significant amounts of fast arithmetic. In addition to all the computational capabilities, DSP blocks support runtime dynamic programmability, which allows a single DSP block to be used as a different computational block in every clock cycle. Vendor synthesis tools can infer the use of these resources but they do not exploit their full capabilities, especially the dynamic configuration. Specific language structures arc suggested for implementing standard applications but others that do not fit these standard designs can suffer from inefficient mapping. High-level synthesis (HLS) tools rely on the backend synthesis tools to map efficiently to the target architecture.
This thesis explores how DSP blocks can be exploited to produce high throughput computational kernels at close the theoretical limit of the primitives, and how t heir dynamic programmability can be exploited to create efficient implementations. We show that this can be achieved using a high level description, but only by considering architectural information at higher levels. An automated tool flow is presented that takes a high-level description of a computational kernel in C and generates synthesisable Verilog that achieves performance close to theoretical limits of the DSP block with hand-optimised designs. We extend this tool to support proposed techniques for resource sharing of DSP blocks, adapting traditional approaches for the high latency of the DSP blocks, and also applying multi-pumping in this new context. This detailed design results in circuits that always operate at close to the theoretical limits, and offer full utilisation of the DSP block. |
author2 |
Suhaib A Fahmy |
author_facet |
Suhaib A Fahmy Ronak Bajaj |
format |
Theses and Dissertations |
author |
Ronak Bajaj |
author_sort |
Ronak Bajaj |
title |
Exploiting DSP block capabilities in FPGA high level design flows |
title_short |
Exploiting DSP block capabilities in FPGA high level design flows |
title_full |
Exploiting DSP block capabilities in FPGA high level design flows |
title_fullStr |
Exploiting DSP block capabilities in FPGA high level design flows |
title_full_unstemmed |
Exploiting DSP block capabilities in FPGA high level design flows |
title_sort |
exploiting dsp block capabilities in fpga high level design flows |
publishDate |
2017 |
url |
http://hdl.handle.net/10356/69815 |
_version_ |
1759857331388022784 |