Litcius/Paper detail

Invited Tutorial

Lana Josipović, Andrea Guerrieri, Paolo Ienne

202015 citationsDOIOpen Access PDF

Abstract

High-level synthesis tools, both commercial and academic, typically rely on static scheduling to produce high-throughput pipelines. However, in applications with unpredictable memory accesses or irregular control flow, these tools need to make pessimistic scheduling assumptions. In contrast, dataflow circuits implement dynamically scheduled circuits, in which components communicate locally using a handshake mechanism and exchange data as soon as all conditions for a transaction are satisfied. Due to their ability to adapt the schedule at runtime, dataflow circuits are suitable for handling irregular and control-dominated code. This paper describes Dynamatic, an open-source HLS framework which generates synchronous dataflow circuits out of C/C++ code. The purpose of this paper is to give an introductory overview of Dynamatic and demonstrate some of its use cases, in order to enable others to use the tool and participate in its development.

Topics & Concepts

DataflowComputer scienceHandshakeScheduling (production processes)Electronic circuitControl flowDatabase transactionScheduleComputer architectureParallel computingDistributed computingEmbedded systemProgramming languageOperating systemOverhead (engineering)EconomicsElectrical engineeringEngineeringOperations managementParallel Computing and Optimization TechniquesEmbedded Systems Design TechniquesReal-Time Systems Scheduling