Synthesizable Higher-Order Functions for C++

Dustin A. Richmond, Alric Althoff, Ryan Kastner · IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems · 2018

State-of-the-art C/C++ synthesis tools lack abstractions and conveniences that are pervasive in modern software languages. Higher-order functions are particularly important as they increase productivity by concisely representing common design patterns. Providing these in hardware design environments would improve the accessibility of hardware tools for software engineers by providing familiar interfaces and abstractions. We have created an open-source library of higher-order functions synthesizable in C/C++ hardware development tools. We implement six common algorithms on a PYNQ board and conclude that our library produces results that are generally statistically indistinguishable from nonrecursive techniques.

Read the paper · More papers on PaperTik