Software and Tools
Altera High Level Synthesis IP Gen Compiler (Beta)
Accelerate FPGA development by transforming high-level C++ and SYCL designs into optimized, production-quality RTL.
Overview
The HLS IP Gen compiler is a high-level synthesis tool that converts untimed C++-based SYCL code into optimized, production-quality RTL for Altera® FPGAs. By raising the abstraction level of design input, the HLS Compiler accelerates development and verification cycles compared to traditional RTL design flows. C++ models can typically be verified orders of magnitude faster, enabling more efficient iteration and system-level exploration.
HLS IP Gen replaces the SYCL FPGA toolchain previously distributed as the Intel oneAPI FPGA add-on. The tool now targets FPGA device families while also providing a fast path for software emulation. The Open FPGA Stack can be optionally used in user owned custom full stack to integrate the generated IP from HLS IP Gen.
Key Features
| SYCL-based Compiler | Compile C++ and SYCL code for FPGAs, enabling code reuse and efficient parallel programming.
|
| Architecture Exploration | Quickly explore multiple architectures through high-level directives.
|
| Customizable FPGA Kernels | Optimize FPGA kernels with attributes, pragmas, and extensions to fine-tune performance and resource utilization.
|
| IP Generation via Platform Designer | Generate reusable IP for system integration using Platform Designer.
|
| Timing-Driven Scheduling and Mapping | Performs device-specific timing-driven schedule optimization and technology mapping for Altera FPGAs. |
| Design Utilization Insights | View and analyze area utilization, loop structure, memory usage, system data flow, clusters, and surrounding logic.
|
Common Questions
Use HLS IP Gen for C++/SYCL algorithms amenable to hardware pipelines. Handwritten RTL remains useful for tightly controlled cycle-level interfaces.
Review the migration guidance, update the build flow, regenerate kernel IP, and integrate it into the target FPGA system.
A larger initiation interval reduces the rate at which new work enters the pipeline. Inspect dependencies and memory access constraints in optimization reports.