A Survey and Evaluation of FPGA High-Level Synthesis Tools

A Survey and Evaluation of FPGA High-Level Synthesis Tools

IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 35, NO. 10, OCTOBER 2016 1591 A Survey and Evaluation of FPGA High-Level Synthesis Tools Razvan Nane, Member, IEEE, Vlad-Mihai Sima, Christian Pilato, Member, IEEE, Jongsok Choi, Student Member, IEEE, Blair Fort, Student Member, IEEE, Andrew Canis, Student Member, IEEE, Yu Ting Chen, Student Member, IEEE, Hsuan Hsiao, Student Member, IEEE, Stephen Brown, Member, IEEE, Fabrizio Ferrandi, Member, IEEE, Jason Anderson, Member, IEEE, and Koen Bertels, Member, IEEE Abstract—High-level synthesis (HLS) is increasingly popular huge acceleration at a fraction of a processor’s energy, the for the design of high-performance and energy-efficient heteroge- main drawback is related to its design. On one hand, describ- neous systems, shortening time-to-market and addressing today’s ing these components in a hardware description language system complexity. HLS allows designers to work at a higher- (HDL) (e.g., VHSIC hardware description language (VHDL) level of abstraction by using a software program to specify the hardware functionality. Additionally, HLS is particularly interest- or Verilog) allows the designer to adopt existing tools for reg- ing for designing field-programmable gate array circuits, where ister transfer level (RTL) and logic synthesis into the target hardware implementations can be easily refined and replaced in technology. On the other hand, this requires the designer to the target device. Recent years have seen much activity in the specify functionality at a low level of abstraction, where cycle- HLS research community, with a plethora of HLS tool offer- by-cycle behavior is completely specified. The use of such ings, from both industry and academia. All these tools may have languages requires advanced hardware expertise, besides being different input languages, perform different internal optimiza- tions, and produce results of different quality, even for the very cumbersome to develop in. This leads to longer development same input description. Hence, it is challenging to compare their times that can critically impact the time-to-market. performance and understand which is the best for the hard- An interesting solution to realize such heterogeneity and, ware to be implemented. We present a comprehensive analysis at the same time, address the time-to-market problem is the of recent HLS tools, as well as overview the areas of active combination of reconfigurable hardware architectures, such as interest in the HLS research community. We also present a first- field-programmable gate arrays (FPGAs) and high-level syn- published methodology to evaluate different HLS tools. We use our methodology to compare one commercial and three academic thesis (HLS) tools [2]. FPGAs are integrated circuits that can tools on a common set of C benchmarks, aiming at perform- be configured by the end user to implement digital circuits. ing an in-depth evaluation in terms of performance and the use Most FPGAs are also reconfigurable, allowing a relatively of resources. quick refinement and optimization of a hardware design with Index Terms—BAMBU, comparison, DWARV, evaluation, field- no additional manufacturing costs. The designer can mod- programmable gate array (FPGA), high-level synthesis (HLS), ify the HDL description of the components and then use an LEGUP,survey. FPGA vendor toolchain for the synthesis of the bitstream to configure the FPGA. HLS tools start from a software pro- grammable high-level language (HLL) (e.g., C, C++, and I. INTRODUCTION SystemC) to automatically produce a circuit specification in LOCK frequency scaling in processors stalled in the HDL that performs the same function. HLS offers benefits to C middle of the last decade, and in recent years, an software engineers, enabling them to reap some of the speed alternative approach for high-throughput and energy-efficient and energy benefits of hardware, without actually having to processing is based on heterogeneity, where designers integrate build up hardware expertise. HLS also offers benefits to hard- software processors and application-specific customized hard- ware engineers, by allowing them to design systems faster ware for acceleration, each tailored toward specific tasks [1]. at a high-level of abstraction and rapidly explore the design Although specialized hardware has the potential to provide space. This is crucial in the design of complex systems [3] Manuscript received May 20, 2015; revised August 6, 2015; accepted and especially suitable for FPGA design where many alterna- November 21, 2015. Date of publication December 30, 2015; date of cur- tive implementations can be easily generated, deployed onto rent version September 7, 2016. This paper was recommended by Associate the target device, and compared. Recent developments in the Editor Nagaraj NS. FPGA industry, such as Microsoft’s application of FPGAs in R. Nane, V.-M. Sima, and K. Bertels are with the Delft University of Technology, Delft 2625 NW, The Netherlands (e-mail: [email protected]; Bing search acceleration [4] and the forthcoming acquisition of [email protected]). Altera by Intel, further underscore the need for using FPGAs C. Pilato was with the Politecnico di Milano, Milan 20133, Italy, and he is as computing platforms with high-level software-amenable now with Columbia University, New York, NY 10027 USA. J. Choi, B. Fort, A. Canis, Y. T. Chen, H. Hsiao, S. Brown, and J. Anderson design methodologies. HLS has also been recently applied are with the University of Toronto, Toronto, ON M5S 3G4, Canada (e-mail: to a variety of applications (e.g., medical imaging, convolu- [email protected]). tional neural networks, and machine learning), with significant F. Ferrandi is with the Politecnico di Milano, Milan 20133, Italy. benefits in terms of performance and energy consumption [5]. Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org. Although HLS tools seem to efficiently mitigate the problem Digital Object Identifier 10.1109/TCAD.2015.2513673 of creating the hardware description, automatically generating 0278-0070 c 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information. 1592 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 35, NO. 10, OCTOBER 2016 Fig. 1. Classification of High-Level Synthesis Tools Based on the Input Language. hardware from software is not easy and a wide range of dif- 2) A description of HLS optimizations and problems ferent approaches have been developed. One approach is to wherein active research is underway (Section III). adapt the HLL to a specific application domain (e.g., dataflow 3) The first-published comprehensive in-depth evaluation languages for describing streaming applications). These HLS (Section IV) and discussion (Section V) of selected tools can leverage dedicated optimizations or microarchitec- commercial and academic HLS tools in terms of per- tural solutions for the specific domain. However, the algorithm formance and area metrics. designer, who is usually a software engineer, has to under- This analysis shows that industry and academia are closely stand how to properly update the code. This approach is progressing together toward efficient methods to automatically usually time-consuming and error prone. For this reason, some design application-specific customized hardware accelerators. HLS tools offer complete support for a standard HLL, such However, several research challenges remain open. as C, giving complete freedom to the algorithm designer. Understanding the current HLS research directions, the dif- ferent HLS tools available, and their capabilities is a difficult II. OVERVIEW OF HIGH-LEVEL SYNTHESIS TOOLS challenge, and a thoughtful analysis is lacking in the literature In this section, we present an overview of academic and to cover all these aspects. For example, [6]wasasmallsur- commercial HLS tools. The presentation will be done accord- vey of existing HLS tools with a static comparison (on criteria ing to a classification of the design input language as shown such as the documentation available or the learning curve) of in Fig. 1. We distinguish between two major categories, their features and user experience. However, the tools have not namely tools that accept domain-specific languages (DSLs) been applied to benchmarks, nor were the results produced by and tools that are based on general-purpose programmable lan- the tools compared. Indeed, given an application to be imple- guages (GPLs). DSLs are split into new languages invented mented as a hardware accelerator, it is crucial to understand specially for a particular tool-flow and GPL-based dialects, which HLS tool better fits the characteristics of the algorithm. which are languages based on a GPL (e.g., C) extended with For this reason, we believe that it is important to have a com- specific constructs to convey specific hardware information prehensive survey of recent HLS tools, research directions, as to the tool. Under each category, the corresponding tools are well as a systematic method to evaluate different tools on the listed in green, red, or blue fonts, where green represents the same benchmarks in order to analyze the results. tool being in use, red implies the tool is abandoned, and blue In this paper, we present a thorough analysis of HLS tools, implies N/A, meaning that no information is currently known current HLS research thrusts, as well as a detailed way to about its status. Furthermore, the bullet type, defined in the fig- evaluate different state-of-the-art tools (both academic and ure’s legend, denotes the target application domain for which commercial) on performance and resource usage. The three the tool can be used. Finally, tool names which are under- academic tools considered are Delft workbench automated lined in the figure represent tools that also support SystemC reconfigurable VHDL generator (DWARV)[7], BAMBU [8], as input. Using DSLs or SystemC raises challenges for adop- and LEGUP [9]—tools under active development in three insti- tion of HLS by software developers.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    14 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us