GSA to HDL: Towards principled generation of dynamically scheduled circuits

08/21/2023
by   Aditya Rajagopal, et al.
0

High-level synthesis (HLS) refers to the automatic translation of a software program written in a high-level language into a hardware design. Modern HLS tools have moved away from the traditional approach of static (compile time) scheduling of operations to generating dynamic circuits that schedule operations at run time. Such circuits trade-off area utilisation for increased dynamism and throughput. However, existing lowering flows in dynamically scheduled HLS tools rely on conservative assumptions on their input program due to both the intermediate representations (IR) utilised as well as the lack of formal specifications on the translation into hardware. These assumptions cause suboptimal hardware performance. In this work, we lift these assumptions by proposing a new and efficient abstraction for hardware mapping; namely h-GSA, an extension of the Gated Single Static Assignment (GSA) IR. Using this abstraction, we propose a lowering flow that transforms GSA into h-GSA and maps h-GSA into dynamically scheduled hardware circuits. We compare the schedules generated by our approach to those by the state-of-the-art dynamic-scheduling HLS tool, Dynamatic, and illustrate the potential performance improvement from hardware mapping using the proposed abstraction.

READ FULL TEXT
research
08/29/2023

Compiler Discovered Dynamic Scheduling of Irregular Code in High-Level Synthesis

Dynamically scheduled high-level synthesis (HLS) achieves higher through...
research
04/21/2023

LightningSim: Fast and Accurate Trace-Based Simulation for High-Level Synthesis

High-Level Synthesis allows hardware designers to create complex RTL des...
research
11/09/2021

vlang: Mapping Verilog Netlists to Modern Technologies

Portability of hardware designs between Programmable Logic Devices (PLD)...
research
01/27/2022

High-level Synthesis using the Julia Language

The growing proliferation of FPGAs and High-level Synthesis (HLS) tools ...
research
01/18/2023

Task-based preemptive scheduling on FPGAs leveraging partial reconfiguration

FPGAs are an attractive type of accelerator for all-purpose HPC computin...
research
08/26/2022

Programming abstractions for preemptive scheduling in FPGAs using partial reconfiguration

FPGAs are an attractive type of accelerator for all-purpose HPC computin...
research
07/25/2021

Neural Circuit Synthesis from Specification Patterns

We train hierarchical Transformers on the task of synthesizing hardware ...

Please sign up or login with your details

Forgot password? Click here to reset