hlslib: Software Engineering for Hardware Design

10/10/2019
by   Johannes de Fine Licht, et al.
0

High-level synthesis (HLS) tools have brought FPGA development into the mainstream, by allowing programmers to design architectures using familiar languages such as C, C++, and OpenCL. While the move to these languages has brought significant benefits, many aspects of traditional software engineering are still unsupported, or not exploited by developers in practice. Furthermore, designing reconfigurable architectures requires support for hardware constructs, such as FIFOs and shift registers, that are not native to CPU-oriented languages. To address this gap, we have developed hlslib, a collection of software tools, plug-in hardware modules, and code samples, designed to enhance the productivity of HLS developers. The goal of hlslib is two-fold: first, create a community-driven arena of bleeding edge development, which can move quicker, and provides more powerful abstractions than what is provided by vendors; and second, collect a wide range of example codes, both minimal proofs of concept, and larger, real-world applications, that can be reused directly or inspire other work. hlslib is offered as an open source library, containing CMake files, C++ headers, convenience scripts, and examples codes, and is receptive to any contribution that can benefit HLS developers, through general functionality or examples.

READ FULL TEXT
research
07/18/2019

FBLAS: Streaming Linear Algebra on FPGA

Energy efficiency is one of the primary concerns when designing large sc...
research
04/06/2023

Spade: An Expression-Based HDL With Pipelines

Spade is a new open source hardware description language (HDL) designed ...
research
04/20/2021

SME: A High Productivity FPGA Tool for Software Programmers

For several decades, the CPU has been the standard model to use in the m...
research
03/11/2022

Bringing Source-Level Debugging Frameworks to Hardware Generators

High-level hardware generators have significantly increased the producti...
research
12/21/2018

Open source software in quantum computing

Open source software is becoming crucial in the design and testing of qu...
research
04/03/2021

High-Level Synthesis of Security Properties via Software-Level Abstractions

High-level synthesis (HLS) is a key component for the hardware accelerat...
research
02/24/2023

A Chisel Framework for Flexible Design Space Exploration through a Functional Approach

As the need for efficient digital circuits is ever growing in the indust...

Please sign up or login with your details

Forgot password? Click here to reset