Concepedia

TLDR

Hardware implementations outperform software in speed and energy efficiency, yet their high design cost and complexity make software the default choice for most applications. LegUp is a high‑level synthesis tool that enables software techniques to be applied to hardware design. It compiles standard C programs into a hybrid FPGA‑based MIPS soft processor plus custom hardware accelerators, supporting most C constructs and allowing software segments to run on the processor. The tool delivers hardware quality comparable to commercial HLS solutions and demonstrates the ability to explore hardware/software codesign trade‑offs by varying the software‑to‑hardware split.

Abstract

It is generally accepted that a custom hardware implementation of a set of computations will provide superior speed and energy efficiency relative to a software implementation. However, the cost and difficulty of hardware design is often prohibitive, and consequently, a software approach is used for most applications. In this article, we introduce a new high-level synthesis tool called LegUp that allows software techniques to be used for hardware design. LegUp accepts a standard C program as input and automatically compiles the program to a hybrid architecture containing an FPGA-based MIPS soft processor and custom hardware accelerators that communicate through a standard bus interface. In the hybrid processor/accelerator architecture, program segments that are unsuitable for hardware implementation can execute in software on the processor. LegUp can synthesize most of the C language to hardware, including fixed-sized multidimensional arrays, structs, global variables, and pointer arithmetic. Results show that the tool produces hardware solutions of comparable quality to a commercial high-level synthesis tool. We also give results demonstrating the ability of the tool to explore the hardware/software codesign space by varying the amount of a program that runs in software versus hardware. LegUp, along with a set of benchmark C programs, is open source and freely downloadable, providing a powerful platform that can be leveraged for new research on a wide range of high-level synthesis topics.

References

YearCitations

Page 1