Reconfigurable hardware can deliver impressive performance for some applications, when a highly static hardware design closely matches application logic. Obliged to express efficient static hardware structures, hardware designers cannot currently employ abstractions using dynamic features of modern programming languages. We present the design and implementation of new features in the Lime programming language that admit construction of stream graphs of arbitrary shape using the expressive power of an imperative, object-oriented language. The Lime programmer marks computations destined for hardware, and the compiler statically checks these computations for repeatable structure. If the check succeeds, the system guarantees it can extract the static structure needed for hardware synthesis. We describe the language design in detail and present case studies of 10 Lime benchmarks, each successfully synthesized to a Xilinx Virtex 5 FPGA. © 2013 Springer-Verlag Berlin Heidelberg.
CITATION STYLE
Auerbach, J., Bacon, D. F., Cheng, P., Fink, S., & Rabbah, R. (2013). The shape of things to run compiling complex stream graphs to reconfigurable hardware in lime. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 7920 LNCS, pp. 679–706). Springer Verlag. https://doi.org/10.1007/978-3-642-39038-8_28
Mendeley helps you to discover research relevant for your work.