We are excited to announce that we have been acquired by Microchip Technology! Click here to read more.

Achieve higher performance and lower power with LegUp!


Screenshot

Click to enlarge image

    LegUp is a state-of-the-art high-level synthesis (HLS) compiler which automatically generates high-performance FPGA hardware from software. Hardware implemented on an FPGA can provide 10X improvement in performance and energy-efficiency compared to software executing on a processor. However, FPGA hardware design can be extremely difficult and time consuming, even for expert hardware designers. For software engineers, FPGAs have been simply inaccessible. LegUp opens the doors for software engineers to use FPGAs and reap the performance and energy-efficiency benefits FPGAs have to offer. By raising the design abstraction to software, LegUp also significantly reduces the design time, leading to shorter time-to-market. Use LegUp to obtain higher performance, better energy-efficiency, and faster time-to-market for your application!


DIFFERENTIABILITY


Generate a Hardware IP Core or
a complete System-on-Chip from C.

LegUp can compile your C program into hardware, which can operate as a stand-alone component or can be integrated into a larger system to provide hardware acceleration and energy savings. However, not all program segments may be amenable for hardware acceleration, and some parts of the program can be better suited to remain in software. To this end, LegUp can also compile your program into an ARM Processor-Accelerator SoC (System-on-Chip), where the compute-intensive functions are accelerated in hardware, and the remaining program segments are executed in software on the ARM processor. The software/hardware partitioning, as well as the generation of the system interconnect, are all automatically handled by LegUp.



Multi-threaded Software to
Parallel Hardware.

LegUp supports hardware synthesis of Pthreads and OpenMP, which are popular multi-threading methodologies in software. In software, Pthreads and OpenMP are used to express parallelism, where multiple threads get compiled to execute concurrently on multiple processor cores. LegUp can take Pthreads and OpenMP code, and without requiring any code changes, produce multiple hardware cores that execute concurrently. This is a unique feature of LegUp that is not available in any other HLS tool. By automatically compiling parallel software threads to parallel hardware, LegUp enables those without hardware knowledge to take advantage of parallel FPGA hardware!


QUALITY-OF-RESULTS


Orders of Magnitude Improvements Compared to Software on Processors.

LegUp has been shown to produce FPGA hardware that can provide orders of magnitude improvements in speed and energy-efficiency compared to software running on a state-of-the-art processor, such as an Intel i7 or a multi-core ARM. Users can take the same software running on a processor and compile to FPGA hardware using LegUp to achieve better performance and enery-efficiency.



State-of-the-Art Loop Pipelining.

Loops in software are typically performance hot spots, where a majority of the runtime is spent. Loop pipelining, which allows multiple loop iterations to execute concurrently, is crucial for high performance. LegUp has been shown to produce better loop pipelining hardware than other commercial HLS tools.


SUPPORTED FEATURES


For more details please contact legup@microchip.com.