Leveraging Modern C++ in High-level Synthesis

Tutkimustuotos: ArtikkeliTieteellinenvertaisarvioitu

3 Sitaatiot (Scopus)
241 Lataukset (Pure)

Abstrakti

High-level synthesis (HLS) enables automated conversion of high-level language algorithms into synthesizable register-transfer level code, allowing computation intensive algorithms to be accelerated on FPGAs. Most HLS tools have C++ as their input language, as it is widely known in both software and hardware industry. However, even though C++ receives a new standard every three years, the HLS tool vendors have mostly provided support and examples using C++98/03. Limiting to early C++ standards imposes a productivity penalty, since the newer standards provide both compilation time reductions and more concise, expressive, and maintainable way of writing code. In this study, we make the case for adopting modern C++ in HLS. We inspect the language features of C++11 and forward, and consider their benefits for HLS. We also test the present support for the modern language features with two state-of-the-art commercial HLS tools. Finally, we provide an extended example, demonstrating the increased clarity of code achieved using the newer standards. We note that the investigated HLS tools already have good support for modern C++ features, and urge their adoption to increase designer productivity.

AlkuperäiskieliEnglanti
Sivut1123 - 1132
JulkaisuIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Vuosikerta42
Numero4
Varhainen verkossa julkaisun päivämäärä25 heinäk. 2022
DOI - pysyväislinkit
TilaJulkaistu - 2023
OKM-julkaisutyyppiA1 Alkuperäisartikkeli tieteellisessä aikakauslehdessä

Julkaisufoorumi-taso

  • Jufo-taso 1

!!ASJC Scopus subject areas

  • Software
  • Computer Graphics and Computer-Aided Design
  • Electrical and Electronic Engineering

Sormenjälki

Sukella tutkimusaiheisiin 'Leveraging Modern C++ in High-level Synthesis'. Ne muodostavat yhdessä ainutlaatuisen sormenjäljen.

Siteeraa tätä