Litcius/Paper detail

Pushing the Level of Abstraction of Digital System Design: A Survey on How to Program FPGAs

Emanuele Del Sozzo, Davide Conficconi, Alberto Zeni, Mirko Salaris, Donatella Sciuto, Marco D. Santambrogio

2022ACM Computing Surveys58 citationsDOIOpen Access PDF

Abstract

Field Programmable Gate Arrays (FPGAs) are spatial architectures with a heterogeneous reconfigurable fabric. They are state-of-the-art for prototyping, telecommunications, embedded, and an emerging alternative for cloud-scale acceleration. However, FPGA adoption found limitations in their programmability and required knowledge. Therefore, researchers focused on FPGA abstractions and automation tools. Here, we survey three leading digital design abstractions: Hardware Description Languages (HDLs) , High-Level Synthesis (HLS) tools, and Domain-Specific Languages (DSLs) . We review these abstraction solutions, provide a timeline, and propose a taxonomy for each abstraction trend: programming models for HDLs; Intellectual Property (IP) -based or System-based toolchains for HLS; application, architecture, and infrastructure domains for DSLs.

Topics & Concepts

Computer scienceField-programmable gate arrayAbstraction layerAbstractionComputer architectureTimelineHigh-level synthesisReconfigurable computingDesign space explorationDomain (mathematical analysis)Domain-specific languageEmbedded systemProgramming languageSoftwareHistoryArchaeologyMathematicsEpistemologyPhilosophyMathematical analysisEmbedded Systems Design TechniquesInterconnection Networks and SystemsVLSI and Analog Circuit Testing