LegUp high-level synthesis software allows you to easily program Microchip FPGAs from C/C++ software code.
If you are new to high-level synthesis, check out our white paper:
Benefits of High-Level Synthesis for FPGA Design
For a customer success story using LegUp high-level synthesis for FPGA design, check out our white paper:
Migrating Motor Controller C++ Software from a Microcontroller to a PolarFire FPGA with LegUp High-Level Synthesis.
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!
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!
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.
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.
For more details please contact legup@microchip.com.