University of Twente Student Theses


An Analysis of Programming Paradigms in High-Level Synthesis Tools

Staal, P.J. (2020) An Analysis of Programming Paradigms in High-Level Synthesis Tools.

[img] PDF
Abstract:The imperative, functional, and concurrent programming paradigm are compared to determine which paradigm best fits the task of synthesizing an algorithm to digital hardware. For this comparison three tools are investigated: the Intel HLS Compiler, Clash, and the Intel OpenCL SDK. The performance of the synthesized product is assessed by analyzing the maximum runnable frequency, the die area used on the FPGA, simulations, and verification on the FPGA. The throughput of the written code when synthesized for an FPGA and when compiled for a regular processor is compared. The tools are compared by some metrics related to wide-spread adoption of the tool. The experience of developing an algorithm in the languages and with the tools is discussed. It was found that the Intel HLS compiler usually performs better in both area used and maximum frequency. However, it was also found running the Haskell code on an FPGA instead of on a CPU is in both tested cases more than one hundred times faster. It is concluded that despite the in general worse absolute performance the functional paradigm is the best fit, since the experience with the tools showed that Clash has the most straight-forward transformation from source to hardware. The worse performance is explained by the fact that the Intel HLS Compiler has had more resources committed to it.
Item Type:Essay (Bachelor)
Faculty:EEMCS: Electrical Engineering, Mathematics and Computer Science
Subject:54 computer science
Programme:Computer Science BSc (56964)
Keywords:Embedded systems, High-level synthesis, Programming paradigms, OpenCL, Clash, Haskell, C++
Link to this item:
Export this item as:BibTeX
HTML Citation
Reference Manager


Repository Staff Only: item control page