A Journey into DSL Design using Generative Programming: FPGA Mapping of Image Border Handling through Refinement

Mehmet Akif Özkan; Arsène Pérard-Gayot; Richard Membarth; Philipp Slusallek; Jürgen Teich; Frank Hannig

In: Proceedings of the Fifth International Workshop on FPGAs for Software Programmers (FSP). International Workshop on FPGAs for Software Programmers (FSP-2018), August 31, Dublin, Ireland, Pages 1-9, VDE, 8/2018.


Field Programmable Gate Arrays (FPGAs) are continually improving their computing capabilities and energy efficiency. Yet, programming FPGAs remains a time-consuming task and requires expert knowledge to obtain good performance. Recent advancements in High-Level Synthesis (HLS) promise to solve this problem. However, today's HLS tools still require vendor-specific low-level optimizations in the form of compiler hints and code restructuring. Despite the pursuit of new programming methodologies for many-core, multi-threading, or vector architectures, the FPGA community mostly tries to improve the design techniques from existing programming languages that are either sequential or developed for other computing platforms. In this paper, we use a state-of-the-art functional language that offers explicit control over code refinement to design border handling circuits. This allows us to produce high-level, elegant code descriptions that can be easily refined to low-level hardware designs. Additionally, these descriptions can be exposed to software developers in the form of either a DSL or library.


Weitere Links

Deutsches Forschungszentrum für Künstliche Intelligenz
German Research Center for Artificial Intelligence