A Survey and Evaluation of FPGA High Level Synthesis Tools
High level synthesis (HLS) is increasingly popular for the design of high performance and energy efficient heterogeneous systems, shortening time to market and addressing today's system complexity. HLS allows designers to work at a higher level of abstraction by using a software program to specify the hardware functionality. Additionally, HLS is particularly interesting for designing field programmable gate array circuits, where hardware implementations can be easily refined and replaced in the target device. Recent years have seen much activity in the HLS research community, with a plethora of HLS tool offerings, from both industry and academia. All these tools may have different input languages, perform different internal optimizations, and produce results of different quality, even for the very same input description. Hence, it is challenging to compare their performance and understand which is the best for the hardware to be implemented. We present a comprehensive analysis of recent HLS tools, as well as overview the areas of active interest in the HLS research community. We also present a first published methodology to evaluate different HLS tools. We use our methodology to compare one commercial and three academic tools on a common set of C benchmarks, aiming at performing an in depth evaluation in terms of performance and the use of resources.
IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems