Litcius/Paper detail

Synthesizing General-Purpose Code Into Dynamically Scheduled Circuits

Lana Josipović, Andrea Guerrieri, Paolo Ienne

2021IEEE Circuits and Systems Magazine26 citationsDOIOpen Access PDF

Abstract

High-level synthesis (HLS) tools generate hardware designs from high-level programming languages and should liberate designers from the details of hardware description languages like VHDL and Verilog. HLS tools typically build datapaths that are controlled using a centralized controller, which relies on a compile-time schedule to determine the clock cycle when each operation executes. Such an approach results in high-throughput pipelined designs only in cases where memory accesses are provably independent and critical control decisions are determinable during code compilation. Unfortunately, when this is not the case, current tools must make pessimistic assumptions, yielding inferior schedules and lower performance. Recent advances in HLS have explored methods to overcome the conservatism in static scheduling and to remove the inability of HLS tools to handle dynamic events. Dataflow circuits play a significant role in this context: they are built out of units that communicate using point-to-point pairs of handshake control signals and this distributed control mechanism effectively implements a dynamic schedule, adapted at runtime to particular memory and control outcomes. Dataflow circuits can exploit the same optimization opportunities as standard HLS circuits (i.e., pipelining and resource sharing), but also introduce to HLS features similar to those of modern superscalar processors (i.e., out-of-order memory accesses and speculative execution), which are key for HLS to be successful in new contexts and broader application domains.

Topics & Concepts

Computer scienceDataflowHigh-level synthesisHandshakeComputer architectureEmbedded systemScheduling (production processes)Code generationParallel computingKey (lock)Field-programmable gate arrayProgramming languageOverhead (engineering)Computer securityOperations managementEconomicsEmbedded Systems Design TechniquesParallel Computing and Optimization TechniquesInterconnection Networks and Systems
Synthesizing General-Purpose Code Into Dynamically Scheduled Circuits | Litcius