Hardware Synthesis from a Recursive Functional Language
Kuangya Zhai, Richard Townsend, Lianne Lairmore, Martha A. Kim, Stephen A. Edwards · 2015
Abstraction in hardware description languages stalled at the register-transfer level decades ago, yet few alternatives have had much success, in part because they provide only mod-est gains in expressivity. We propose to make a much larger jump: a compiler that synthesizes hardware from behav-ioral functional specifications. Our compiler translates gen-eral Haskell programs into a restricted intermediate repre-sentation before applying a series of semantics-preserving transformations, concluding with a simple syntax-directed translation to SystemVerilog. Here, we present the overall framework for this compiler, focusing on the IRs involved and our method for translating general recursive functions into equivalent hardware. We conclude with experimental results that depict the performance and resource usage of the circuitry generated with our compiler. 1.