Making Domain-Specific Hardware Synthesis Tools Cost-Efficient Nithin George∗ David Novo∗ Tiark Rompf†‡ Martin Odersky† Paolo Ienne∗ ∗Processor Architecture Laboratory, †Programming Methods Laboratory, ‡Oracle Labs, École Polytechnique Fédérale de Lausanne, École Polytechnique Fédérale de Lausanne, Email: fi
[email protected] Email: first.last@epfl.ch Email: first.last@epfl.ch Abstract—Tools to design hardware at a high level of ab- Application domain experts, who often have little knowledge straction promise software-like productivity for hardware de- of designing hardware, can use these domain-specific tools signs. Among them, tools like Spiral, HDL Coder, Optimus and effectively to create designs targeting FPGAs. These tools can, MMAlpha target specific application domains and produce highly hence, make the benefits of reconfigurable technology more efficient implementations from high-level input specifications in accessible to users within different domains. a Domain Specific Language (DSL). But, developing similar domain-specific High-Level Synthesis (HLS) tools need enormous However, developing a new domain-specific HLS tool in- effort, which might offset their many advantages. In this paper, curs enormous effort since one would need to design a new we propose a novel, cost-effective approach to develop domain- DSL, a custom compiler and, sometimes, even a development specific HLS tools. We develop the HLS tool by embedding environment; developing just the compiler itself would involve its input DSL in Scala and using Lightweight Modular Staging writing a parser, multiple analysis and optimization steps and the (LMS), a compiler framework written in Scala, to perform output code generators. This high design effort makes such tools optimizations at different abstraction levels.